[V8] FileList cannot be accessed via index in Chromium.
[WebKit-https.git] / WebCore / ChangeLog
1 2009-09-01  Jian Li  <jianli@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         [V8] FileList cannot be accessed via index in Chromium.
6         https://bugs.webkit.org/show_bug.cgi?id=28883
7
8         Tested by clipboard-file-access.html.
9
10         * WebCore.gypi:
11         * bindings/v8/V8DOMWrapper.cpp:
12         (WebCore::V8DOMWrapper::getTemplate):
13         * bindings/v8/custom/V8CustomBinding.h:
14         * bindings/v8/custom/V8FileListCustom.cpp: Added.
15
16 2009-08-31  Jon Honeycutt  <jhoneycutt@apple.com>
17
18         Remove the workaround added in r47316.
19
20         Reviewed by Sam Weinig.
21
22         * accessibility/AXObjectCache.cpp:
23         (WebCore::AXObjectCache::AXObjectCache):
24
25         * accessibility/AXObjectCache.h:
26         Remove the Document argument to the AXObjectCache constructor and the
27         m_document member variable, and replace the no-parameter
28         handleFocusedUIElementChanged() with the two-parameter GTK function.
29         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
30
31         * accessibility/chromium/AXObjectCacheChromium.cpp:
32         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
33
34         * accessibility/gtk/AXObjectCacheAtk.cpp:
35         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
36
37         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38         (fallbackObject):
39         Don't pass a null Document when constructing the AXObjectCache.
40
41         * accessibility/mac/AXObjectCacheMac.mm:
42         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
43
44         * accessibility/win/AXObjectCacheWin.cpp:
45         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
46         Get the document from the RenderObject; m_document was removed.
47
48         * dom/Document.cpp:
49         (WebCore::Document::axObjectCache):
50         Don't pass the Document when constructing the AXObjectCache.
51         (WebCore::Document::setFocusedNode):
52         Pass the old and new focused RenderObjects when calling
53         handleFocusedUIElementChanged().
54
55 2009-09-01  Yury Semikhatsky  <yurys@chromium.org>
56
57         Reviewed by Timothy Hatcher.
58
59         Check that InspectorDOMAgent and InspectorFrontend are not null
60         before accessing them in InspectorBackend. They may be null if
61         InspectorController is closed before an asynchronous operation is
62         started.
63
64         https://bugs.webkit.org/show_bug.cgi?id=28800
65
66         * inspector/InspectorBackend.cpp:
67         (WebCore::InspectorBackend::getCookies):
68         (WebCore::InspectorBackend::getChildNodes):
69         (WebCore::InspectorBackend::setAttribute):
70         (WebCore::InspectorBackend::removeAttribute):
71         (WebCore::InspectorBackend::setTextNodeValue):
72         (WebCore::InspectorBackend::highlight):
73         (WebCore::InspectorBackend::nodeForId):
74         (WebCore::InspectorBackend::pushNodePathToFrontend):
75         (WebCore::InspectorBackend::addNodesToSearchResult):
76         (WebCore::InspectorBackend::selectDatabase):
77         (WebCore::InspectorBackend::selectDOMStorage):
78         (WebCore::InspectorBackend::inspectorDOMAgent):
79         (WebCore::InspectorBackend::inspectorFrontend):
80         * inspector/InspectorBackend.h:
81
82 2009-09-01  Brady Eidson  <beidson@apple.com>
83
84         Reviewed by Sam Weinig.
85
86         Page Cache should support pages with frames
87         https://bugs.webkit.org/show_bug.cgi?id=13631
88
89         Things learned in the full task that this patch addresses:
90         - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 
91           needed to be managed separately.
92         - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
93           FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
94           will be guided by the CachedFrames themselves.
95
96         No new tests. (No change in behavior, current layout tests pass)
97         
98         * history/CachedFrame.cpp:
99         (WebCore::CachedFrame::CachedFrame):
100         (WebCore::CachedFrame::~CachedFrame):
101         (WebCore::CachedFrame::clear): Only clear pointers out.
102         (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
103           occur simply by navigating back to a page with a CachedFrame.
104         * history/CachedFrame.h:
105
106         * history/CachedPage.cpp:
107         (WebCore::CachedPage::~CachedPage):
108         (WebCore::CachedPage::restore): Call clear() after restoring.
109         (WebCore::CachedPage::clear):
110         (WebCore::CachedPage::destroy):
111         * history/CachedPage.h:
112
113         * history/PageCache.cpp:
114         (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
115           instead of clearing them.
116
117         * loader/FrameLoader.cpp:
118         (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
119         (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
120         * loader/FrameLoader.h:  Add the friending so CachedPage and CachedFrame can better guide the process.
121           Even though CachedFrame::restore() isn't used for now, it will be soon.
122
123 2009-09-01  Andrei Popescu  <andreip@google.com>
124
125         Reviewed by David Levin.
126
127         Add a "lowMemoryNotification" method to the V8 ScriptController class.
128         This is needed in order to allow the host application (Android Web browser in this case)
129         to call the v8::V8::LowMemoryNotification() method added to V8 in
130         http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
131         
132         https://bugs.webkit.org/show_bug.cgi?id=28776
133
134
135         * bindings/v8/ScriptController.cpp:
136         (WebCore::ScriptController::lowMemoryNotification):
137         * bindings/v8/ScriptController.h:
138
139 2009-09-01  Fumitoshi Ukai  <ukai@chromium.org>
140
141         Reviewed by Adam Barth.
142
143         V8 Bindings for WebSocket API.
144         https://bugs.webkit.org/show_bug.cgi?id=28844
145
146         * bindings/v8/DOMObjectsInclude.h:
147         * bindings/v8/DerivedSourcesAllInOne.cpp:
148         * bindings/v8/V8DOMWrapper.cpp:
149         (WebCore::V8DOMWrapper::getTemplate):
150         (WebCore::V8DOMWrapper::convertToV8Object):
151         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
152         * bindings/v8/V8DOMWrapper.h:
153         * bindings/v8/V8Index.cpp:
154         * bindings/v8/V8Index.h:
155         * bindings/v8/WorkerContextExecutionProxy.cpp:
156         * bindings/v8/custom/V8CustomBinding.h:
157         * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
158
159 2009-09-01  Peter Kasting  <pkasting@google.com>
160
161         Unreviewed (build fix).
162
163         Missed a "." -> "->" conversion.
164
165         * platform/graphics/qt/ImageDecoderQt.cpp:
166         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
167
168 2009-09-01  Peter Kasting  <pkasting@google.com>
169
170         Unreviewed (build fix).
171
172         Try to fix Qt build, take 2.  The Qt code had what looks like a
173         broken virtual function override.
174
175         * platform/graphics/qt/ImageDecoderQt.cpp:
176         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
177         (WebCore::ImageDecoderQt::setData):
178         * platform/graphics/qt/ImageDecoderQt.h:
179
180 2009-09-01  Adam Barth  <abarth@webkit.org>
181
182         Reviewed by Sam Weinig.
183
184         Uninitialized variable in XSSAuditor
185         https://bugs.webkit.org/show_bug.cgi?id=28874
186
187         One ought to initialize variables before use even when it doesn't
188         matter.  No behavior change.
189
190         * page/XSSAuditor.h:
191         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
192
193 2009-09-01  Peter Kasting  <pkasting@google.com>
194
195         Unreviewed (build fix).
196
197         Try to fix Qt build.
198
199         * platform/graphics/ImageSource.cpp:
200
201 2009-08-28  Peter Kasting  <pkasting@google.com>
202
203         Reviewed by Eric Seidel.
204
205         https://bugs.webkit.org/show_bug.cgi?id=27965
206         Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
207
208         * WebCore.pro:
209         * platform/graphics/ImageSource.cpp:
210         (WebCore::ImageSource::frameHasAlphaAtIndex):
211         * platform/graphics/qt/ImageSourceQt.cpp:
212         (WebCore::ImageSource::createFrameAtIndex):
213         (WebCore::ImageSource::frameHasAlphaAtIndex):
214         (WebCore::ImageSource::frameIsCompleteAtIndex):
215
216 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
217
218         Reviewed by Timothy Hatcher.
219
220         WebInspector: Make InjectedScript self-contained (move necessary
221         methods from utilities.js into InjectedScript).
222
223         https://bugs.webkit.org/show_bug.cgi?id=28871
224
225         * inspector/front-end/ElementsPanel.js:
226         (WebInspector.ElementsPanel.prototype.generateStylesheet):
227         * inspector/front-end/InjectedScript.js:
228         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
229         (InjectedScript._ensureCommandLineAPIInstalled):
230         (InjectedScript.pushNodeToFrontend):
231         (InjectedScript.createProxyObject):
232         (Object.type):
233         (Object.hasProperties):
234         (Object.className):
235         (String.prototype.escapeCharacters):
236         * inspector/front-end/utilities.js:
237
238 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
239
240         Reviewed by Timothy Hatcher.
241
242         WebInspector: console log message repeat count double.
243
244         https://bugs.webkit.org/show_bug.cgi?id=28856
245
246         * inspector/front-end/InjectedScript.js:
247         (InjectedScript._evaluateOn):
248
249 2009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
250
251         Reviewed by Mark Rowe.
252
253         [Gtk] Fix DATALIST build
254         https://bugs.webkit.org/show_bug.cgi?id=28826
255
256         Add ENABLE_DATALIST to FEATURE_DEFINES.
257
258         * GNUmakefile.am:
259
260 2009-09-01  Cameron McCormack  <cam@mcc.id.au>
261
262         Reviewed by Eric Seidel.
263
264         SVGSVGElement suspend methods argument/return types incorrect
265         https://bugs.webkit.org/show_bug.cgi?id=28860
266
267         Also fix the style of the argument names.
268
269         * svg/SVGSVGElement.cpp:
270         (WebCore::SVGSVGElement::suspendRedraw):
271         (WebCore::SVGSVGElement::unsuspendRedraw):
272         * svg/SVGSVGElement.h:
273
274 2009-09-01  Roland Steiner  <rolandsteiner@google.com>
275
276         Reviewed by Eric Seidel.
277
278         Fix bug 28808:  [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
279         (https://bugs.webkit.org/show_bug.cgi?id=28808)
280
281         The bug fix adds an explicit check for the validity of the path when it is 
282         transformed into local coordinates. 
283         This was the most suitable place I could find that didn't cause an inordinate 
284         amount of refactoring. Also, it seems pertinent and may also catch other cases 
285         that are not limited to clipping paths.
286
287         TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
288
289         * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
290         (WebCore::):
291         * platform/graphics/skia/PlatformContextSkia.cpp:
292         (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
293
294 2009-09-01  Yusuke Sato  <yusukes@chromium.org>
295
296         Reviewed by Eric Seidel.
297
298         [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
299         https://bugs.webkit.org/show_bug.cgi?id=28742 
300
301         Normalize (NFC) a TextRun when the run contains combining diacritical marks
302         so that Skia can pick a correct glyph without relying on GSUB table in a font.
303         This change is for Chromium Linux.
304
305         * platform/graphics/chromium/FontLinux.cpp:
306         (WebCore::TextRunWalker::getTextRun): Added.
307         (WebCore::TextRunWalker::getNormalizedTextRun): Added.
308
309         This function is called when the run contains U+0300..U+036F and converts characters in
310         the run to the combined form (NFC) using ICU.
311
312 2009-09-01  Vitaly Repeshko  <vitalyr@chromium.org>
313
314         Reviewed by Dimitri Glazkov.
315
316         [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
317         V8Proxy::createWrapperFromCache.
318         https://bugs.webkit.org/show_bug.cgi?id=28848
319
320         * bindings/v8/V8DOMWrapper.cpp:
321         (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
322         function for document wrapping.
323         (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
324         wrapping a new node.
325         * bindings/v8/V8DOMWrapper.h:
326         (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
327         path from V8DOMWrapper.cpp.
328         * bindings/v8/V8Proxy.cpp:
329         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
330         * bindings/v8/V8Proxy.h:
331         (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
332         from V8Proxy.cpp.
333
334 2009-09-01  Eric Seidel  <eric@webkit.org>
335
336         No review, windows build fix only.  Clearly I should have read the patch closer. :(
337
338         Allow excluding certain plugins from loading
339         https://bugs.webkit.org/show_bug.cgi?id=28677
340
341         * plugins/PluginDatabase.cpp:
342         (WebCore::PluginDatabase::refresh):
343
344 2009-09-01  Alexander Pavlov  <apavlov@chromium.org>
345
346         Reviewed by Timothy Hatcher.
347
348         Implement conditional breakpoints in the Web Inspector backend
349         and add frontend JavaScript stubs.
350         https://bugs.webkit.org/show_bug.cgi?id=28846
351
352         * inspector/InspectorBackend.cpp:
353         (WebCore::InspectorBackend::profiles):
354         (WebCore::InspectorBackend::addBreakpoint):
355         (WebCore::InspectorBackend::updateBreakpoint):
356         * inspector/InspectorBackend.h:
357         * inspector/InspectorBackend.idl:
358         * inspector/JavaScriptDebugServer.cpp:
359         (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
360         (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
361         (WebCore::JavaScriptDebugServer::addBreakpoint):
362         (WebCore::JavaScriptDebugServer::breakpointInfo):
363         (WebCore::JavaScriptDebugServer::updateBreakpoint):
364         (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
365         (WebCore::JavaScriptDebugServer::removeBreakpoint):
366         (WebCore::JavaScriptDebugServer::hasBreakpoint):
367         (WebCore::JavaScriptDebugServer::clearBreakpoints):
368         * inspector/JavaScriptDebugServer.h:
369         (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
370         * inspector/front-end/Breakpoint.js:
371         (WebInspector.Breakpoint):
372         (WebInspector.Breakpoint.prototype.get id):
373         (WebInspector.Breakpoint.prototype.get condition):
374         (WebInspector.Breakpoint.prototype.set condition):
375         * inspector/front-end/BreakpointsSidebarPane.js:
376         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
377         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
378         * inspector/front-end/ScriptsPanel.js:
379         (WebInspector.ScriptsPanel.prototype.addScript):
380
381 2009-09-01  Marius Renn  <damarvy@gmail.com>
382
383         Reviewed by Eric Seidel.
384
385         Added delegate to PluginDatabase to disable loading certain plugins.
386         This is useful when you want to load from the standard plugin
387         directory, but want to exclude certain plugins. Plugins may be
388         excluded early on by name, so that no plugin code is executed (which
389         may have caused a crash).
390
391         * plugins/PluginDatabase.cpp:
392         (WebCore::PluginDatabase::PluginDatabase):
393         (WebCore::PluginDatabase::refresh):
394         * plugins/PluginDatabase.h:
395         (WebCore::PluginDatabase::setClient):
396         * plugins/PluginDatabaseClient.h: Added.
397         (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
398
399 2009-08-31  Brady Eidson  <beidson@apple.com>
400
401         Rubberstamped by Sam Weinig
402
403         * WebCore.base.exp: Removed an unneeded symbol export.
404
405 2009-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
406
407         Reviewed by Alexey Proskuryakov.
408
409         https://bugs.webkit.org/show_bug.cgi?id=28466
410         When downloading a file, two GET requests are sent to the HTTP server
411
412         Can't think of a way to test this.
413
414         * loader/ResourceLoader.cpp:
415         (WebCore::ResourceLoader::releaseResources): only nullify the
416         handle's client when it is the ResourceLoader, to support the case
417         in which a download API uses a different client
418
419 2009-08-31  Brian Weinstein  <bweinstein@apple.com>
420
421         Reviewed by Darin Adler.
422
423         Text Fields and Text Areas are reported as read-only by inspect32.exe.
424         https://bugs.webkit.org/show_bug.cgi?id=28854
425
426         Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
427         and texts areas are read-only.
428
429         * accessibility/AccessibilityRenderObject.cpp:
430         (WebCore::AccessibilityRenderObject::isReadOnly):
431         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
432
433 2009-08-31  Drew Wilson  <atwilson@google.com>
434
435         Reviewed by Alexey Proskuryakov.
436
437         fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
438         https://bugs.webkit.org/show_bug.cgi?id=28795
439
440         Changed WorkerContext::close() to no longer stop the worker thread.
441         It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
442
443         * workers/AbstractWorker.cpp:
444         Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
445         * workers/DefaultSharedWorkerRepository.cpp:
446         (WebCore::SharedWorkerProxy::workerContextClosed):
447         Now shuts down the worker thread when notified that the context is closed.
448         (WebCore::SharedWorkerProxy::close):
449         Now handles being invoked when the context is already in the process of shutting down.
450         * workers/WorkerContext.cpp:
451         (WebCore::WorkerContext::close):
452         No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
453         * workers/WorkerContext.h:
454         (WebCore::WorkerContext::isClosing):
455         isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
456         * workers/WorkerMessagingProxy.cpp:
457         (WebCore::WorkerExceptionTask::performTask):
458         Error events should still be delivered even if the worker thread is closing.
459         Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
460         (WebCore::WorkerTerminateTask::create):
461         New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
462         (WebCore::WorkerTerminateTask::WorkerTerminateTask):
463         (WebCore::WorkerTerminateTask::performTask):
464         (WebCore::WorkerMessagingProxy::workerContextClosed):
465         Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
466         * workers/WorkerMessagingProxy.h:
467         WorkerMessagingProxy now overrides workerContextClosed().
468         * workers/WorkerRunLoop.cpp:
469         (WebCore::WorkerRunLoop::runInMode):
470         Now drops tasks on the floor if the WorkerContext is closing.
471
472 2009-08-31  Ojan Vafai  <ojan@chromium.org>
473
474         Not reviewed (build fix)
475
476         Build fix for Chromium to match r49707.
477
478         * bindings/v8/ScriptCallFrame.cpp:
479         (WebCore::ScriptCallFrame::ScriptCallFrame):
480         * bindings/v8/ScriptSourceCode.h:
481         (WebCore::ScriptSourceCode::ScriptSourceCode):
482         * platform/KURLGoogle.cpp:
483         (WebCore::KURL::KURL):
484         (WebCore::blankURL):
485
486 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
487
488         Reviewed by Darin Adler.
489
490         https://bugs.webkit.org/show_bug.cgi?id=28858
491         Element.baseURI parses xml:base attribute incorrectly
492
493         Test: fast/dom/base-attribute-parsing.xhtml
494
495         * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
496         release mode).
497
498 2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
499
500         Reverting http://trac.webkit.org/changeset/47904, because it caused
501         layout test failure.
502
503         Test: fast/dom/Window/new-window-opener.html
504
505 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
506
507         Reviewed by Darin Adler.
508
509         https://bugs.webkit.org/show_bug.cgi?id=28852
510         Rename KURL single argument constructor to avoid confusion
511
512         * platform/KURL.h: The constructor that used to be single argument should now be invoked
513         as KURL(ParsedURLString, myString).
514
515         * WebCore.base.exp:
516         * bindings/js/JSDOMWindowCustom.cpp:
517         (WebCore::createWindow):
518         * bindings/js/ScriptCallFrame.cpp:
519         (WebCore::ScriptCallFrame::ScriptCallFrame):
520         * bindings/v8/NPV8Object.cpp:
521         (_NPN_EvaluateHelper):
522         * bindings/v8/custom/V8DOMWindowCustom.cpp:
523         (WebCore::createWindow):
524         * css/CSSCursorImageValue.cpp:
525         (WebCore::isSVGCursorIdentifier):
526         * css/CSSImageValue.cpp:
527         (WebCore::CSSImageValue::cachedImage):
528         * css/CSSImportRule.cpp:
529         (WebCore::CSSImportRule::insertedIntoParent):
530         * css/StyleBase.cpp:
531         (WebCore::StyleBase::baseURL):
532         * dom/Document.cpp:
533         (WebCore::Document::initSecurityContext):
534         * dom/Element.cpp:
535         (WebCore::Element::baseURI):
536         * editing/markup.cpp:
537         (WebCore::completeURLs):
538         * history/HistoryItem.cpp:
539         (WebCore::HistoryItem::url):
540         (WebCore::HistoryItem::originalURL):
541         * inspector/InspectorController.cpp:
542         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
543         * inspector/InspectorResource.cpp:
544         (WebCore::InspectorResource::createCached):
545         * loader/Cache.cpp:
546         (WebCore::Cache::revalidateResource):
547         * loader/DocLoader.cpp:
548         (WebCore::DocLoader::requestResource):
549         * loader/DocumentLoader.cpp:
550         (WebCore::DocumentLoader::getSubresources):
551         * loader/FrameLoader.cpp:
552         (WebCore::FrameLoader::init):
553         (WebCore::FrameLoader::iconURL):
554         (WebCore::FrameLoader::scheduleLocationChange):
555         (WebCore::FrameLoader::redirectionTimerFired):
556         (WebCore::FrameLoader::loadURLIntoChildFrame):
557         (WebCore::FrameLoader::startRedirectionTimer):
558         * loader/appcache/ApplicationCache.cpp:
559         (WebCore::ApplicationCache::resourceForURL):
560         * loader/appcache/ApplicationCacheGroup.cpp:
561         (WebCore::ApplicationCacheGroup::startLoadingEntry):
562         (WebCore::ApplicationCacheGroup::addEntry):
563         * loader/appcache/ApplicationCacheStorage.cpp:
564         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
565         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
566         (WebCore::ApplicationCacheStorage::loadCache):
567         (WebCore::ApplicationCacheStorage::manifestURLs):
568         * loader/archive/cf/LegacyWebArchive.cpp:
569         (WebCore::LegacyWebArchive::createResource):
570         (WebCore::LegacyWebArchive::create):
571         * loader/loader.cpp:
572         (WebCore::Loader::load):
573         * notifications/NotificationCenter.h:
574         (WebCore::NotificationCenter::createHTMLNotification):
575         * platform/KURL.cpp:
576         (WebCore::KURL::KURL):
577         (WebCore::blankURL):
578         * platform/KURLHash.h:
579         * platform/chromium/ClipboardChromium.cpp:
580         (WebCore::ClipboardChromium::setData):
581         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
582         (WebCore::MediaPlayerPrivate::createQTMovie):
583         * platform/network/cf/ResourceErrorCF.cpp:
584         (WebCore::ResourceError::operator CFErrorRef):
585         * platform/network/cf/ResourceRequest.h:
586         (WebCore::ResourceRequest::ResourceRequest):
587         * platform/network/chromium/ResourceRequest.h:
588         (WebCore::ResourceRequest::ResourceRequest):
589         * platform/network/curl/ResourceHandleManager.cpp:
590         (WebCore::handleLocalReceiveResponse):
591         (WebCore::headerCallback):
592         * platform/network/curl/ResourceRequest.h:
593         (WebCore::ResourceRequest::ResourceRequest):
594         * platform/network/mac/ResourceErrorMac.mm:
595         (WebCore::ResourceError::operator NSError*):
596         * platform/network/mac/ResourceRequest.h:
597         (WebCore::ResourceRequest::ResourceRequest):
598         * platform/network/qt/ResourceRequest.h:
599         (WebCore::ResourceRequest::ResourceRequest):
600         * platform/network/soup/ResourceRequest.h:
601         (WebCore::ResourceRequest::ResourceRequest):
602         * platform/win/ClipboardWin.cpp:
603         (WebCore::filesystemPathFromUrlOrTitle):
604         (WebCore::ClipboardWin::setData):
605         * svg/graphics/SVGImage.cpp:
606         (WebCore::SVGImage::dataChanged):
607         * xml/XSLImportRule.cpp:
608         (WebCore::XSLImportRule::loadSheet):
609         * xml/XSLTProcessor.cpp:
610         (WebCore::docLoaderFunc):
611         Adapt to the change everywhere the single argument constructor was used. I did a very
612         cursory check of whether these locations were using this constructor properly, and didn't
613         notice any obvious mistakes. The new explicit name will hopefully suggest checking this
614         better when refactoring any such code.
615
616 2009-08-31  Beth Dakin  <bdakin@apple.com>
617
618         Reviewed by Darin Adler.
619
620         Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 
621         Backgrounds and Borders] Add support for 2-keyword values for 
622         background-repeat
623
624         This patch allows background-repeat to take two values by making 
625         background-repeat just like background-position internally. There 
626         is a little extra legwork for background-repeat because the spec 
627         indicates that its computed value should be equivalent to how it 
628         was specified. I keep track of the specified thing by setting the 
629         implicit flag whenever background-repeat is defined with only one 
630         value (since internally, we now store this as 2 values.)
631         
632         Here we can't access the implicit flag, so for backwards-
633         compatibility's sake, we always return one value when that makes 
634         sense.
635         * css/CSSComputedStyleDeclaration.cpp:
636         (WebCore::fillRepeatToCSSValue):
637         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
638
639         Here we check for the implicit flag and return one value when it is 
640         set.
641         * css/CSSMutableStyleDeclaration.cpp:
642         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
643         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
644         (WebCore::CSSMutableStyleDeclaration::cssText):
645
646         Add support for CSSPropertyBackgroundRepeatX and 
647         CSSPropertyBackgroundRepeatY
648         * css/CSSParser.cpp:
649         (WebCore::CSSParser::parseValue):
650         (WebCore::CSSParser::parseFillShorthand):
651         (WebCore::CSSParser::parseFillRepeat):
652         (WebCore::CSSParser::parseFillProperty):
653         * css/CSSParser.h:
654
655         Get rid of mappings to RepeatXFill and RepeatYFill since we don't 
656         need those parts of the EFillRepeat enum anymore.
657         * css/CSSPrimitiveValueMappings.h:
658         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
659         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
660
661         Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
662         * css/CSSPropertyLonghand.cpp:
663         (WebCore::initShorthandMap):
664
665         Add background-repeat-x and -y.
666         * css/CSSPropertyNames.in:
667
668         Break repeat into x and y.
669         * css/CSSStyleSelector.cpp:
670         (WebCore::CSSStyleSelector::applyProperty):
671         (WebCore::CSSStyleSelector::mapFillRepeatX):
672         (WebCore::CSSStyleSelector::mapFillRepeatY):
673         * css/CSSStyleSelector.h:
674
675         There is no more RepeatXFill. Instead, look for 
676         fillLayer->repeatX() == RepeatFill
677         * rendering/RenderBoxModelObject.cpp:
678         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
679
680         Break m_repeat into m_repeatX and m_repeatY
681         * rendering/style/FillLayer.cpp:
682         (WebCore::FillLayer::FillLayer):
683         (WebCore::FillLayer::operator=):
684         (WebCore::FillLayer::operator==):
685         (WebCore::FillLayer::fillUnsetProperties):
686         (WebCore::FillLayer::cullEmptyLayers):
687         * rendering/style/FillLayer.h:
688         (WebCore::FillLayer::repeatX):
689         (WebCore::FillLayer::repeatY):
690         (WebCore::FillLayer::isRepeatXSet):
691         (WebCore::FillLayer::isRepeatYSet):
692         (WebCore::FillLayer::setRepeatX):
693         (WebCore::FillLayer::setRepeatY):
694         (WebCore::FillLayer::clearRepeatX):
695         (WebCore::FillLayer::clearRepeatY):
696         (WebCore::FillLayer::initialFillRepeatX):
697         (WebCore::FillLayer::initialFillRepeatY):
698
699         Again, break backgroundRepeat into backgroundRepeatX and 
700         backgroundRepeatY
701         * rendering/style/RenderStyle.h:
702         (WebCore::InheritedFlags::backgroundRepeatX):
703         (WebCore::InheritedFlags::backgroundRepeatY):
704         (WebCore::InheritedFlags::maskRepeatX):
705         (WebCore::InheritedFlags::maskRepeatY):
706
707         We don't need RepeatXFill or RepeatYFill. Now that we store two 
708         values, they are represented by Repeat-NoRepeat and NoRepeat-
709         Repeat, respectively.
710         * rendering/style/RenderStyleConstants.h:
711         (WebCore::):
712
713 2009-08-31  Simon Fraser  <simon.fraser@apple.com>
714
715         Reviewed by Dan Bernstein.
716
717         Compositing layer size needs to take into account software reflections on children.
718         https://bugs.webkit.org/show_bug.cgi?id=28837
719         
720         When computing the bounds of a composited layer, take software-rendered
721         reflections into account.
722
723         Test: compositing/reflections/reflection-in-composited.html
724
725         * rendering/RenderLayerCompositor.cpp:
726         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
727
728 2009-08-31  Mark Mentovai  <mark@chromium.org>
729
730         Reviewed by Dave Hyatt.
731
732         https://bugs.webkit.org/show_bug.cgi?id=28614
733
734         Perform a layout prior to checking whether the scrollbar modes are
735         off, on, or automatic.  The modes may change during layout.
736
737         * platform/ScrollView.cpp:
738         (WebCore::ScrollView::updateScrollbars):
739
740 2009-08-31  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
741
742         Reviewed by Timothy Hatcher.
743
744         Inspector Request Headers Should Show Data Sent With Request
745         https://bugs.webkit.org/show_bug.cgi?id=22920
746
747         Manual test added - see below.
748
749         * English.lproj/localizedStrings.js:
750         * inspector/InspectorResource.cpp:
751         (WebCore::InspectorResource::updateRequest):
752         (WebCore::InspectorResource::createScriptObject):
753         (WebCore::InspectorResource::updateScriptObject):
754         * inspector/InspectorResource.h:
755         * inspector/front-end/Resource.js:
756         (WebInspector.Resource):
757         * inspector/front-end/ResourceView.js:
758         (WebInspector.ResourceView):
759         (WebInspector.ResourceView.prototype._refreshURL):
760         (WebInspector.ResourceView.prototype._refreshQueryString):
761         (WebInspector.ResourceView.prototype._refreshFormData):
762         (WebInspector.ResourceView.prototype._refreshRequestPayload):
763         (WebInspector.ResourceView.prototype._refreshParms):
764         (WebInspector.ResourceView.prototype._toggleURLdecoding):
765         (WebInspector.ResourceView.prototype._getHeaderValue):
766         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
767         * inspector/front-end/inspector.css:
768         * inspector/front-end/inspector.js:
769         (WebInspector.addResource):
770         (WebInspector.updateResource):
771         * manual-tests/inspector/display-form-data.html: Added.
772
773 2009-08-31  Pavel Feldman  <pfeldman@chromium.org>
774
775         Reviewed by Timothy Hatcher.
776
777         WebInspector: pass call frames into the frontend as a part of
778         pausedScript event.
779
780         https://bugs.webkit.org/show_bug.cgi?id=28847
781
782         * inspector/InspectorController.cpp:
783         (WebCore::InspectorController::didPause):
784         * inspector/InspectorFrontend.cpp:
785         (WebCore::InspectorFrontend::pausedScript):
786         * inspector/InspectorFrontend.h:
787         * inspector/front-end/ScriptsPanel.js:
788         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
789         * inspector/front-end/inspector.js:
790         (WebInspector.pausedScript):
791
792 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
793
794         Reviewed by Ariya Hidayat.
795
796         [Qt] Un-blacklist Silverlight on Mac
797
798         Does not seem to crash anymore, probably due to how we now handle
799         drawing and event model handshake better.
800
801         * plugins/mac/PluginPackageMac.cpp:
802         (WebCore::PluginPackage::isPluginBlacklisted):
803
804 2009-08-31  Cameron McCormack  <cam@mcc.id.au>
805
806         Reviewed by Eric Seidel.
807
808         https://bugs.webkit.org/show_bug.cgi?id=28827
809         SVGSVGElement.unsuspendRedraw() shouldn't throw
810
811         * svg/SVGSVGElement.cpp:
812         (WebCore::SVGSVGElement::unsuspendRedraw):
813         * svg/SVGSVGElement.h:
814         * svg/SVGSVGElement.idl:
815
816 2009-08-31  Kent Tamura  <tkent@chromium.org>
817
818         Reviewed by Eric Seidel.
819
820         - Change the reutrn type of HTMLInputElement::list so that it
821           conforms to the standard.
822         - Add HTMLInputElement::dataList()
823         https://bugs.webkit.org/show_bug.cgi?id=28769
824
825
826         * html/HTMLInputElement.cpp:
827         (WebCore::HTMLInputElement::list):
828         (WebCore::HTMLInputElement::dataList):
829         (WebCore::HTMLInputElement::selectedOption):
830         * html/HTMLInputElement.h:
831         * html/HTMLInputElement.idl:
832
833 2009-08-31  Kwang Yul Seo  <skyul@company100.net>
834
835         Reviewed by Eric Seidel.
836
837         Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
838         https://bugs.webkit.org/show_bug.cgi?id=28802
839
840         Remove ASSERT because the frame could be null if the
841         ResourceHandle is not associated with any frame, e.g. if we are
842         downloading a file.
843         If the frame is not null but the page is null this must be an
844         attempted load from an onUnload handler, so let's just block it.
845
846         * platform/network/curl/ResourceHandleCurl.cpp:
847         (WebCore::ResourceHandle::start):
848
849 2009-08-31  Maxime Simon  <simon.maxime@gmail.com>
850
851         Reviewed by Eric Seidel.
852
853         Build fix for platforms which don't enable DOM_STORAGE.
854         https://bugs.webkit.org/show_bug.cgi?id=28834
855
856         * bindings/js/ScriptController.cpp:
857         (WebCore::ScriptController::evaluate):
858         * bindings/v8/ScriptController.cpp:
859         (WebCore::ScriptController::evaluate):
860
861 2009-08-29  Adele Peterson  <adele@apple.com>
862
863         Reviewed by Dan Bernstein.
864
865         Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
866         Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
867
868         Test: accessibility/aria-activedescendant-crash.html
869
870         * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
871
872 2009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
873
874         Reviewed by Oliver Hunt.
875
876         Gtk Build broken for OSX Quartz
877         https://bugs.webkit.org/show_bug.cgi?id=28727
878
879         Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
880         port in Mac and Unix/Linux.
881
882         * plugins/PluginView.cpp:
883         (WebCore::PluginView::PluginView):
884         * plugins/PluginView.h:
885         * plugins/gtk/PluginViewGtk.cpp:
886         (WebCore::PluginView::setNPWindowIfNeeded):
887         (WebCore::PluginView::getValueStatic):
888         (WebCore::PluginView::getValue):
889         (WebCore::PluginView::init):
890
891 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
892
893         Reviewed by Dan Bernstein.
894
895         Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
896         https://bugs.webkit.org/show_bug.cgi?id=28754
897         
898         For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
899         ancestor, since the layer x and y are relative to that ancestor. However, this could
900         skip over the ancestorLayer, thus giving the wrong result.
901         
902         Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
903         and checking for ancestorLayer along the way. If found, compute offset of both to
904         the enclosingPositionedAncestor() and subtract.
905         
906         This also fixes a positioning bug with abs. positioned elements in reflections,
907         so there is a new reflection test with a pixel result.
908
909         Tests: compositing/geometry/abs-position-inside-opacity.html
910                fast/reflections/abs-position-in-reflection.html
911
912         * rendering/RenderLayer.cpp:
913         (WebCore::isPositionedContainer):
914         (WebCore::RenderLayer::enclosingPositionedAncestor):
915         (WebCore::RenderLayer::enclosingTransformedAncestor):
916         (WebCore::RenderLayer::convertToLayerCoords):
917
918 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
919
920         Reviewed by Mark Rowe
921
922         Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
923         https://bugs.webkit.org/show_bug.cgi?id=27727
924
925         When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of 
926         CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
927         because there is not a unique enum value for WebkitCSSTransformValue.
928
929         * bindings/objc/DOMCSS.mm:
930         (kitClass):
931
932 2009-08-28  Peter Kasting  <pkasting@google.com>
933
934         Reviewed by Jan Michael Alonzo.
935
936         https://bugs.webkit.org/show_bug.cgi?id=28308
937         Fix some warnings introduced by r47381.
938
939         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
940         (WebCore::convertCMYKToRGBA):
941         (WebCore::convertRGBToRGBA):
942
943 2009-08-28  Ada Chan  <adachan@apple.com>
944
945         Reviewed by Adam Roben.
946
947         https://bugs.webkit.org/show_bug.cgi?id=21442
948         Make sure filesystemPathFromUrlOrTitle() returns a string with length
949         <= MAX_PATH - 1.
950
951         * platform/win/ClipboardWin.cpp:
952         (WebCore::filesystemPathFromUrlOrTitle):
953
954 2009-08-28  Dumitru Daniliuc  <dumi@chromium.org>
955
956         Reviewed by Dimitri Glazkov.
957
958         Adding Chromium's VFS for Linux and Mac.
959
960         https://bugs.webkit.org/show_bug.cgi?id=28750
961
962         * WebCore.gypi:
963         * platform/chromium/ChromiumBridge.h:
964         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
965         (WebCore::SQLiteFileSystem::openDatabase):
966         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
967         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
968         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
969         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
970         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
971
972 2009-08-28  Vitaly Repeshko  <vitalyr@chromium.org>
973
974         Reviewed by Dimitri Glazkov.
975
976         [V8] Made bindings use Node::setOnEvent functions for Node descendants
977         instead of Node::setAttributeEventListener.
978
979         Node::setAttributeEventListener is an internal function and
980         doesn't do the forwarding to DOM window that is required for some
981         HTML elements.
982         https://bugs.webkit.org/show_bug.cgi?id=28709
983
984         Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
985
986         * bindings/scripts/CodeGeneratorV8.pm:
987         Now generates EventListener accessors for Node descendants instead
988         of using custom callbacks.
989         * bindings/v8/V8DOMWrapper.cpp:
990         (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
991         * bindings/v8/V8DOMWrapper.h:
992         (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
993         signature.
994         * bindings/v8/V8Utilities.cpp:
995         (WebCore::createHiddenDependency):
996         (WebCore::removeHiddenDependency):
997         Changed signature to accept Handle instead of Local.
998         * bindings/v8/V8Utilities.h:
999         * bindings/v8/custom/V8CustomBinding.h:
1000         * bindings/v8/custom/V8NodeCustom.cpp:
1001         (WebCore::CALLBACK_FUNC_DECL):
1002         Removed custom callbacks for EventListener accessors.
1003
1004 2009-08-28  Ben Murdoch  <benm@google.com>
1005
1006         https://bugs.webkit.org/show_bug.cgi?id=28803
1007         
1008         Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
1009
1010         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1011         (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
1012
1013 2009-08-28  Peter Kasting  <pkasting@google.com>
1014
1015         Not reviewed (build fix).
1016
1017         * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
1018         (WebCore::ImageDecoder::create):
1019         (WebCore::ImageDecoderQt::ImageDecoderQt):
1020         * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
1021
1022 2009-08-28  Peter Kasting  <pkasting@google.com>
1023
1024         Reviewed by Eric Seidel.
1025
1026         https://bugs.webkit.org/show_bug.cgi?id=27965
1027         Move ImageDecoder creation function to a factory function on
1028         ImageDecoder.  This is arguably where it makes the most sense anyway,
1029         and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
1030         function.
1031
1032         * platform/graphics/ImageSource.cpp:
1033         * platform/graphics/qt/ImageDecoderQt.cpp:
1034         (WebCore::ImageDecoder::create):
1035         * platform/graphics/qt/ImageDecoderQt.h:
1036         * platform/graphics/qt/ImageSourceQt.cpp:
1037         (WebCore::ImageSource::setData):
1038         * platform/image-decoders/ImageDecoder.cpp:
1039         * platform/image-decoders/ImageDecoder.h:
1040
1041 2009-08-28  Peter Kasting  <pkasting@google.com>
1042
1043         Reviewed by Eric Seidel.
1044
1045         https://bugs.webkit.org/show_bug.cgi?id=28785
1046         Combine duplicated code from ImageDecoder*.cpp into the main
1047         ImageDecoder.cpp.
1048
1049         * platform/image-decoders/ImageDecoder.cpp:
1050         (WebCore::RGBA32Buffer::RGBA32Buffer):
1051         (WebCore::RGBA32Buffer::clear):
1052         (WebCore::RGBA32Buffer::zeroFill):
1053         (WebCore::RGBA32Buffer::copyBitmapData):
1054         (WebCore::RGBA32Buffer::setSize):
1055         (WebCore::RGBA32Buffer::hasAlpha):
1056         (WebCore::RGBA32Buffer::setHasAlpha):
1057         (WebCore::RGBA32Buffer::setStatus):
1058         (WebCore::RGBA32Buffer::operator=):
1059         (WebCore::RGBA32Buffer::width):
1060         (WebCore::RGBA32Buffer::height):
1061         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1062         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
1063         * platform/image-decoders/wx/ImageDecoderWx.cpp:
1064
1065 2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1066
1067         Reviewed by Holger Freyther.
1068
1069         https://bugs.webkit.org/show_bug.cgi?id=25889
1070         [GTK] scrollbar policy for main frame is not implementable
1071
1072         Override setScrollbarModes to correctly forward scrollbar modes
1073         policy changes to client code, via a new platform-specific method,
1074         scrollbarsPolicyDidChange.
1075
1076         * page/ChromeClient.h:
1077         (WebCore::ChromeClient::scrollbarsPolicyDidChange):
1078         * platform/ScrollView.cpp:
1079         (WebCore::ScrollView::createScrollbar):
1080         * platform/ScrollView.h:
1081         * platform/gtk/ScrollViewGtk.cpp:
1082         (WebCore::ScrollView::setScrollbarModes):
1083
1084 2009-08-28  Cédric Luthi <cedric.luthi@gmail.com>
1085
1086         Reviewed by Tor Arne Vestbø
1087
1088         [Qt/Mac] Un-blacklist the QuickTime plugin
1089
1090         https://bugs.webkit.org/show_bug.cgi?id=28768
1091
1092         Now that the drawing model is properly negotiated, there is no need the
1093         blacklist the QuickTime plugin anymore.
1094
1095         This revealed a bug in PluginView::performRequest: it should not initiate a
1096         request if the plugin has been stopped, which is what happens when a plugin
1097         only supports the QuickDraw drawing model.
1098
1099         * plugins/PluginView.cpp:
1100         * plugins/mac/PluginPackageMac.cpp:
1101
1102 2009-08-28  Yury Semikhatsky  <yurys@chromium.org>
1103
1104         Reviewed by Timothy Hatcher.
1105
1106         Set DOM agent document to 0 in InspectorController::close to
1107         make DOM agent remove DOM listeners from the inspected document.
1108
1109         Replace windowVisible checks with m_frontend checks to as inspector
1110         window lives in a different process in Chromium while frontend proxy
1111         is in the inspected page process.
1112
1113         https://bugs.webkit.org/show_bug.cgi?id=28800
1114
1115         * inspector/InspectorController.cpp:
1116         (WebCore::InspectorController::inspect):
1117         (WebCore::InspectorController::addConsoleMessage):
1118         (WebCore::InspectorController::close):
1119         (WebCore::InspectorController::pruneResources):
1120         (WebCore::InspectorController::didCommitLoad):
1121         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1122         (WebCore::InspectorController::identifierForInitialRequest):
1123         (WebCore::InspectorController::willSendRequest):
1124         (WebCore::InspectorController::didReceiveResponse):
1125         (WebCore::InspectorController::didReceiveContentLength):
1126         (WebCore::InspectorController::didFinishLoading):
1127         (WebCore::InspectorController::didFailLoading):
1128         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1129         (WebCore::InspectorController::scriptImported):
1130         (WebCore::InspectorController::didOpenDatabase):
1131         (WebCore::InspectorController::didUseDOMStorage):
1132         (WebCore::InspectorController::addProfile):
1133         * inspector/InspectorController.h:
1134
1135 2009-08-28  Mikhail Naganov  <mnaganov@chromium.org>
1136
1137         Reviewed by Timothy Hatcher.
1138
1139         Remove dependency of SummaryBar on WebInspector.resourceCategories.
1140
1141         https://bugs.webkit.org/show_bug.cgi?id=28801
1142
1143         * inspector/front-end/ResourcesPanel.js:
1144         (WebInspector.ResourcesPanel):
1145         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
1146         * inspector/front-end/SummaryBar.js:
1147         (WebInspector.SummaryBar):
1148         (WebInspector.SummaryBar.prototype.update):
1149
1150 2009-08-28  Pavel Feldman  <pfeldman@chromium.org>
1151
1152         Not reviewed (patching in l18n change that was missing due to
1153         the git binary diff format).
1154
1155         https://bugs.webkit.org/show_bug.cgi?id=28429
1156
1157         * English.lproj/localizedStrings.js:
1158
1159 2009-08-28  Adam Barth  <abarth@webkit.org>
1160
1161         Reviewed by Eric Seidel.
1162
1163         Make XSSAuditor go fast
1164         https://bugs.webkit.org/show_bug.cgi?id=28667
1165
1166         Make the XSSAuditor go faster by implementing two optimizations:
1167
1168         1) We avoid canonicalizing scripts that are larger than the page's URL.
1169            This saves a bunch of time for large inline scripts.
1170
1171         2) We memoize canonicalizing the page's URL because it's silly to
1172            canonicalize repeated for each inline event listener.
1173
1174         These optimizations have a measurable affect on the intl1 page cycler.
1175
1176         No behavior change.
1177
1178         * page/XSSAuditor.cpp:
1179         (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
1180         (WebCore::XSSAuditor::canEvaluate):
1181         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
1182         (WebCore::XSSAuditor::canCreateInlineEventListener):
1183         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1184         (WebCore::XSSAuditor::canLoadObject):
1185         (WebCore::XSSAuditor::canSetBaseElementURL):
1186         (WebCore::XSSAuditor::decodeURL):
1187         (WebCore::XSSAuditor::findInRequest):
1188         * page/XSSAuditor.h:
1189
1190 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
1191
1192         Unreviewed, build fix.
1193
1194         Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
1195         fast/canvas/change-context.html. And it's alright to reach it.
1196
1197         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1198         (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
1199
1200 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
1201
1202         Not reviewed.  Build fix for http://trac.webkit.org/changeset/47840
1203
1204         Peter's change forgot one m_decoder->
1205
1206         * platform/graphics/ImageSource.cpp:
1207         (WebCore::ImageSource::frameSizeAtIndex):
1208
1209 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
1210
1211         Unreviewed, build fix.
1212
1213         [V8] Add NULL-check, since the context ain't changeable no more, and
1214         thus getContext could return 0.
1215
1216         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1217         (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
1218
1219 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
1220
1221         Reviewed by Eric Seidel.
1222
1223         dataTransfer.types() should include type "Files" when files are present in the clipboard.
1224         https://bugs.webkit.org/show_bug.cgi?id=28780
1225
1226         Add dataTransfer type "Files" to the chromium port.  Add eseidel's
1227         patch for same for the mac port.
1228
1229         * platform/chromium/ClipboardChromium.cpp:
1230
1231 2009-08-27  Chris Marrin  <cmarrin@apple.com>
1232
1233         Reviewed by Simon Fraser.
1234
1235         Removed GL_ from all constants, and gl prefix from all calls
1236         https://bugs.webkit.org/show_bug.cgi?id=28773
1237
1238         This was done for the external API in CanvasRenderingContext3D and
1239         the internal API in GraphicsContext3D.
1240
1241         * html/canvas/CanvasRenderingContext3D.cpp:
1242         * html/canvas/CanvasRenderingContext3D.h:
1243         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
1244         * html/canvas/CanvasRenderingContext3D.idl:
1245         * platform/graphics/GraphicsContext3D.h:
1246         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1247
1248 2009-08-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
1249
1250         Qt and Gtk build fixes. Not reviewed.
1251
1252         Add CanvasRenderingContext3D.idl to the build scripts.
1253
1254         * GNUmakefile.am:
1255         * WebCore.pro:
1256
1257 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
1258
1259         Reviewed by Darin Fisher.
1260
1261         Release the storage mutex whenever leaving JavaScript execution.
1262         https://bugs.webkit.org/show_bug.cgi?id=28789
1263
1264         http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
1265         required behavior.  After we leave JavaScript, we must be sure the storage
1266         mutex has been released.  At the end of evaluate(), if localStorage has been
1267         instantiated, tell it to release any locks that may be applicable.
1268
1269         * bindings/js/ScriptController.cpp:
1270         (WebCore::ScriptController::evaluate):
1271         * bindings/v8/ScriptController.cpp:
1272         (WebCore::ScriptController::evaluate):
1273
1274 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
1275
1276         Reviewed by Oliver Hunt.
1277
1278         https://bugs.webkit.org/show_bug.cgi?id=28753
1279         <rdar://problem/7173448> Excessive number of threads (and a crash)
1280
1281         Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
1282         - when resolver is idle, the first few requests are sent immediately (they may or may not
1283         hit the wire);
1284         - if there are a few requests in flight already, coalesce all requests for one second;
1285         - to avoid pathological cases with lots of links to different sites on a page, only ask
1286         CFHost about a handful of names (dropping the rest).
1287
1288         Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
1289         link, and these tend to have identical host name.
1290
1291         * platform/network/cf/DNSCFNet.cpp:
1292         (WebCore::DNSResolveQueue::DNSResolveQueue):
1293         (WebCore::DNSResolveQueue::shared):
1294         (WebCore::DNSResolveQueue::add):
1295         (WebCore::DNSResolveQueue::decrementRequestCount):
1296         (WebCore::DNSResolveQueue::fired):
1297         (WebCore::clientCallback):
1298         (WebCore::DNSResolveQueue::resolve):
1299         (WebCore::prefetchDNS):
1300
1301 2009-08-27  Chris Marrin  <cmarrin@apple.com>
1302
1303         Reviewed by Simon Fraser.
1304
1305         Final patch for Canvas 3D support
1306         https://bugs.webkit.org/show_bug.cgi?id=28018
1307
1308         This hooks everything up and provides a working implementation of
1309         Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
1310         passing the opaque context and texture pointers so a Canvas3DLayer can be
1311         created (more on that later). It also plumbs changes to the 3D canvas so
1312         that Canvas3DLayer can recomposite the results.
1313         
1314         A 3D Canvas element needs a RenderLayer and compositing layer to render.
1315         This is because it renders to an off-screen texture in the GPU and then
1316         hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
1317         render that texture as a 3D quad. This keeps everything in GPU memory to 
1318         maximize performance. When a CanvasRenderingContext3D is created it 
1319         forces a style recalc which creates the RenderLayer and compositing 
1320         layer if needed. 
1321         
1322         I repurposed an existing flag which was put in place for animation to accomplish 
1323         this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 
1324         AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
1325         to do a complete style recalc, even though the style itself has not really
1326         changed.
1327         
1328         This patch also fixes a couple of bugs discovered when testing with 3d-canvas
1329         turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
1330         This is needed when making a JS wrapper for the object so the prototype 
1331         property can be set.
1332
1333         Test: fast/canvas/change-context.html
1334
1335         * WebCore.xcodeproj/project.pbxproj:
1336         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
1337         (WebCore::JSCanvasRenderingContext3D::glDrawElements):
1338         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1339         (WebCore::toJS):
1340         * dom/Element.cpp:
1341         (WebCore::Element::recalcStyle):
1342         * dom/Node.cpp:
1343         (WebCore::Node::setNeedsStyleRecalc):
1344         * dom/Node.h:
1345         (WebCore::):
1346         * html/HTMLCanvasElement.cpp:
1347         (WebCore::HTMLCanvasElement::getContext):
1348         (WebCore::HTMLCanvasElement::is3D):
1349         * html/HTMLCanvasElement.h:
1350         * html/canvas/CanvasBuffer.cpp:
1351         (WebCore::CanvasBuffer::create):
1352         (WebCore::CanvasBuffer::CanvasBuffer):
1353         (WebCore::CanvasBuffer::_deleteObject):
1354         * html/canvas/CanvasBuffer.h:
1355         * html/canvas/CanvasFramebuffer.cpp:
1356         (WebCore::CanvasFramebuffer::create):
1357         (WebCore::CanvasFramebuffer::CanvasFramebuffer):
1358         (WebCore::CanvasFramebuffer::_deleteObject):
1359         * html/canvas/CanvasFramebuffer.h:
1360         * html/canvas/CanvasObject.cpp:
1361         (WebCore::CanvasObject::CanvasObject):
1362         (WebCore::CanvasObject::~CanvasObject):
1363         (WebCore::CanvasObject::deleteObject):
1364         * html/canvas/CanvasObject.h:
1365         (WebCore::CanvasObject::context):
1366         * html/canvas/CanvasProgram.cpp:
1367         (WebCore::CanvasProgram::create):
1368         (WebCore::CanvasProgram::CanvasProgram):
1369         (WebCore::CanvasProgram::_deleteObject):
1370         * html/canvas/CanvasProgram.h:
1371         * html/canvas/CanvasRenderbuffer.cpp:
1372         (WebCore::CanvasRenderbuffer::create):
1373         (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
1374         (WebCore::CanvasRenderbuffer::_deleteObject):
1375         * html/canvas/CanvasRenderbuffer.h:
1376         * html/canvas/CanvasRenderingContext3D.cpp:
1377         (WebCore::CanvasRenderingContext3D::createBuffer):
1378         (WebCore::CanvasRenderingContext3D::createFramebuffer):
1379         (WebCore::CanvasRenderingContext3D::createTexture):
1380         (WebCore::CanvasRenderingContext3D::createProgram):
1381         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
1382         (WebCore::CanvasRenderingContext3D::createShader):
1383         * html/canvas/CanvasRenderingContext3D.h:
1384         (WebCore::CanvasRenderingContext3D::graphicsContext3D):
1385         * html/canvas/CanvasShader.cpp:
1386         (WebCore::CanvasShader::create):
1387         (WebCore::CanvasShader::CanvasShader):
1388         (WebCore::CanvasShader::_deleteObject):
1389         * html/canvas/CanvasShader.h:
1390         * html/canvas/CanvasTexture.cpp:
1391         (WebCore::CanvasTexture::create):
1392         (WebCore::CanvasTexture::CanvasTexture):
1393         (WebCore::CanvasTexture::_deleteObject):
1394         * html/canvas/CanvasTexture.h:
1395         * page/DOMWindow.idl:
1396         * page/animation/AnimationBase.cpp:
1397         (WebCore::AnimationBase::setNeedsStyleRecalc):
1398         * page/animation/AnimationController.cpp:
1399         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1400         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
1401         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1402         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1403         (WebCore::AnimationController::cancelAnimations):
1404         * platform/graphics/GraphicsContext3D.h:
1405         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
1406         (WebCore::GraphicsContext3D::platformTexture):
1407         * platform/graphics/GraphicsLayer.h:
1408         (WebCore::GraphicsLayer::setContentsToGraphicsContext3D):
1409         (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay):
1410         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1411         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1412         (WebCore::GraphicsContext3D::reshape):
1413         * platform/graphics/mac/GraphicsLayerCA.h:
1414         (WebCore::GraphicsLayerCA::):
1415         * platform/graphics/mac/GraphicsLayerCA.mm:
1416         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1417         (WebCore::GraphicsLayerCA::commitLayerChanges):
1418         (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D):
1419         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
1420         (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay):
1421         * rendering/RenderHTMLCanvas.cpp:
1422         (WebCore::RenderHTMLCanvas::requiresLayer):
1423         * rendering/RenderHTMLCanvas.h:
1424         (WebCore::RenderHTMLCanvas::isCanvas):
1425         * rendering/RenderLayerBacking.cpp:
1426         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1427         (WebCore::RenderLayerBacking::canUseDirectCompositing):
1428         (WebCore::RenderLayerBacking::rendererContentChanged):
1429         * rendering/RenderLayerCompositor.cpp:
1430         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1431         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
1432         * rendering/RenderLayerCompositor.h:
1433         * rendering/RenderObject.h:
1434         (WebCore::RenderObject::isCanvas):
1435
1436 2009-08-27  Peter Kasting  <pkasting@google.com>
1437
1438         Reviewed by Eric Seidel.
1439
1440         https://bugs.webkit.org/show_bug.cgi?id=28751
1441         Clean up ImageDecoder*.cpp a bit.
1442
1443         * platform/image-decoders/ImageDecoder.cpp: Put functions in the same
1444           order as in the header file.  Also, since there's already an anonymous
1445           namespace in this file, use it to enclose the local helper functions.
1446         (WebCore::):
1447         (WebCore::ImageDecoder::upperBoundScaledX):
1448         (WebCore::ImageDecoder::lowerBoundScaledX):
1449         (WebCore::ImageDecoder::scaledY):
1450         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1451         (WebCore::RGBA32Buffer::width): Style fix.
1452         (WebCore::RGBA32Buffer::height): Style fix.
1453         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
1454         (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly.
1455         (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp.
1456         (WebCore::RGBA32Buffer::operator=): Simplify.
1457         * platform/image-decoders/wx/ImageDecoderWx.cpp:
1458         (WebCore::RGBA32Buffer::asNewNativeImage): Try and collect spaced-out temps under loop comment to show they're all related.  Use size_t for iterating over elements of a Vector.
1459         (WebCore::RGBA32Buffer::width): Style fix.
1460         (WebCore::RGBA32Buffer::height): Style fix.
1461
1462 2009-08-27  Peter Kasting  <pkasting@google.com>
1463
1464         Reviewed by Eric Seidel.
1465
1466         https://bugs.webkit.org/show_bug.cgi?id=28751
1467         Clean up ImageSource.* in preparation for more fixes on bug 27965.
1468
1469         * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file.
1470         (WebCore::ImageSource::isSizeAvailable): Shorten.
1471         (WebCore::ImageSource::size): Shorten.
1472         (WebCore::ImageSource::frameSizeAtIndex): Shorten.
1473         (WebCore::ImageSource::repetitionCount): Shorten.
1474         (WebCore::ImageSource::frameIsCompleteAtIndex):
1475         * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs.
1476
1477 2009-08-27  Peter Kasting  <pkasting@google.com>
1478
1479         Reviewed by Eric Seidel.
1480
1481         https://bugs.webkit.org/show_bug.cgi?id=28785
1482         Add ImageDecoder.cpp to various build files so platforms will be able to
1483         use it.  Move an ENABLE to not cover the whole file, in preparation for
1484         adding a bunch of code.  Simplify #ifdefs in ImageDecoder.h to be "Skia
1485         vs. everyone else", which also gives new platforms a reasonable default
1486         behavior.
1487
1488         * GNUmakefile.am:
1489         * WebCore.gypi:
1490         * WebCore.vcproj/WebCore.vcproj:
1491         * WebCoreSources.bkl:
1492         * platform/image-decoders/ImageDecoder.cpp:
1493         (WebCore::):
1494         * platform/image-decoders/ImageDecoder.h:
1495         (WebCore::RGBA32Buffer::getAddr):
1496
1497 2009-08-27  Antti Koivisto  <antti@apple.com>
1498
1499         Reviewed by Dave Kilzer.
1500         
1501         https://bugs.webkit.org/show_bug.cgi?id=28784
1502         
1503         Add an exported method to flush pending repaints.
1504
1505         * WebCore.base.exp:
1506         * page/FrameView.cpp:
1507         (WebCore::FrameView::layoutIfNeededRecursive):
1508         (WebCore::FrameView::flushDeferredRepaints):
1509         * page/FrameView.h:
1510
1511 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
1512
1513         Reviewed by Eric Seidel.
1514
1515         [V8] Expose files from the pasteboard in drop events.
1516         https://bugs.webkit.org/show_bug.cgi?id=28782
1517
1518         Update chromium port to expose dataTransfer.files() as per
1519         HTML5 drag drop (Aug 2009 edition).
1520
1521         * platform/chromium/ClipboardChromium.cpp:
1522
1523 2009-08-27  Yury Semikhatsky  <yurys@chromium.org>
1524
1525         Reviewed by Dmitry Glazkov.
1526
1527         ScriptState now keeps explicit Handle of devtools front-end
1528         utility context instead of trying to retrieve it from inspected
1529         Frame.
1530
1531         https://bugs.webkit.org/show_bug.cgi?id=28772
1532
1533         * bindings/v8/ScriptController.cpp:
1534         (WebCore::ScriptController::ScriptController):
1535         * bindings/v8/ScriptController.h:
1536         * bindings/v8/ScriptObjectQuarantine.cpp:
1537         (WebCore::getQuarantinedScriptObject):
1538         * bindings/v8/ScriptScope.cpp:
1539         (WebCore::ScriptScope::ScriptScope):
1540         * bindings/v8/ScriptState.cpp:
1541         (WebCore::ScriptState::ScriptState):
1542         (WebCore::ScriptState::~ScriptState):
1543         (WebCore::scriptStateFromPage):
1544         * bindings/v8/ScriptState.h:
1545         (WebCore::ScriptState::context):
1546         * bindings/v8/ScriptValue.h:
1547         (WebCore::ScriptValue::~ScriptValue):
1548         * inspector/InspectorController.h:
1549         (WebCore::InspectorController::frontendScriptState):
1550
1551 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
1552
1553         Reviewed by Timothy Hatcher.
1554
1555         WebInspector: Console won't close.
1556
1557         https://bugs.webkit.org/show_bug.cgi?id=28778
1558
1559         * inspector/front-end/ElementsPanel.js:
1560         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
1561         * inspector/front-end/utilities.js:
1562         (Node.prototype.isAncestor):
1563
1564 2009-08-27  Eric Seidel  <eric@webkit.org>
1565
1566         Reviewed by Adam Barth.
1567
1568         Fix a typo in files() causing image drags to have junk file arrays.
1569         https://bugs.webkit.org/show_bug.cgi?id=28755
1570
1571         Test: editing/pasteboard/files-during-page-drags.html
1572
1573         * platform/mac/ClipboardMac.mm:
1574         (WebCore::ClipboardMac::files):
1575
1576 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
1577
1578         Not reviewed.  Build fix for Chromium.
1579
1580         * bindings/v8/DOMObjectsInclude.h:
1581         * bindings/v8/DerivedSourcesAllInOne.cpp:
1582         * bindings/v8/V8Index.cpp:
1583         * bindings/v8/V8Index.h:
1584
1585 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
1586
1587         Windows build fix.
1588
1589         * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp.
1590
1591 2009-08-26  Alexey Proskuryakov  <ap@apple.com>
1592
1593         Reviewed by Adele Peterson.
1594
1595         https://bugs.webkit.org/show_bug.cgi?id=28758
1596         <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758)
1597
1598         Tests: fast/events/pageshow-pagehide-on-back-cached.html
1599                fast/events/pageshow-pagehide-on-back-uncached.html
1600                fast/events/pageshow-pagehide.html
1601
1602         * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event
1603         (this function is called both when a document goes away, and when it goes to b/f cache).
1604
1605         * page/DOMWindow.cpp:
1606         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload.
1607         (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler
1608         that can be installed on Window object.
1609         (WebCore::DOMWindow::onpagehide): Ditto.
1610         (WebCore::DOMWindow::setOnpagehide): Ditto.
1611         (WebCore::DOMWindow::onpageshow): Ditto.
1612         (WebCore::DOMWindow::setOnpageshow): Ditto.
1613
1614         * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page
1615         that isn't being restored from cache.
1616
1617         * dom/PageTransitionEvent.cpp: Added.
1618         (WebCore::PageTransitionEvent::PageTransitionEvent):
1619         (WebCore::PageTransitionEvent::~PageTransitionEvent):
1620         (WebCore::PageTransitionEvent::initPageTransitionEvent):
1621         * dom/PageTransitionEvent.h: Added.
1622         (WebCore::PageTransitionEvent::create):
1623         (WebCore::PageTransitionEvent::isPageTransitionEvent):
1624         (WebCore::PageTransitionEvent::persisted):
1625         * dom/PageTransitionEvent.idl: Added.
1626         Add event class implementation.
1627
1628         * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support
1629         inline listener definition (note that adding listeners to document.body programmatically
1630         is not supported, matching Firefox).
1631
1632         * dom/Document.cpp:
1633         (WebCore::Document::implicitClose): Dispatch pageshow event right before load event.
1634         (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for
1635         Docuemnt.
1636         (WebCore::Document::createEvent): Ditto.
1637
1638         * dom/Document.h: Added dispatchPageTransitionEvent.
1639
1640         * DerivedSources.make:
1641         * GNUmakefile.am:
1642         * WebCore.gypi:
1643         * WebCore.pro:
1644         * WebCore.vcproj/WebCore.vcproj:
1645         * WebCore.xcodeproj/project.pbxproj:
1646         * WebCoreSources.bkl:
1647         * bindings/js/JSEventCustom.cpp: (WebCore::toJS):
1648         * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent):
1649         * dom/Event.h:
1650         * dom/EventNames.h:
1651         * html/HTMLAttributeNames.in:
1652         * page/DOMWindow.h:
1653         * page/DOMWindow.idl:
1654         Do what it takes to add a new event type.
1655
1656 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
1657
1658         Reviewed by NOBODY (build fix).
1659
1660         Adding missing file from previous commit.
1661
1662         https://bugs.webkit.org/show_bug.cgi?id=28740
1663
1664         * inspector/front-end/SummaryBar.js: Added.
1665         (WebInspector.SummaryBar):
1666         (WebInspector.SummaryBar.prototype.get calculator):
1667         (WebInspector.SummaryBar.prototype.set calculator):
1668         (WebInspector.SummaryBar.prototype.reset):
1669         (WebInspector.SummaryBar.prototype.update):
1670         (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
1671         (WebInspector.SummaryBar.prototype._drawSwatch):
1672         (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
1673         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
1674         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
1675         (WebInspector.SummaryBar.prototype._fadeOutRect):
1676         (WebInspector.SummaryBar.prototype._makeLegendElement):
1677
1678 2009-08-27  Mikhail Naganov  <mnaganov@chromium.org>
1679
1680         Reviewed by Timothy Hatcher.
1681
1682         Factor out Factor out summary bar from Resources panel.
1683
1684         https://bugs.webkit.org/show_bug.cgi?id=28740
1685
1686         * WebCore.gypi:
1687         * WebCore.vcproj/WebCore.vcproj:
1688         * inspector/front-end/ResourcesPanel.js:
1689         (WebInspector.ResourcesPanel.prototype.reset):
1690         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
1691         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
1692         (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
1693         * inspector/front-end/SummaryBar.js: Added.
1694         (WebInspector.SummaryBar):
1695         (WebInspector.SummaryBar.prototype.get calculator):
1696         (WebInspector.SummaryBar.prototype.set calculator):
1697         (WebInspector.SummaryBar.prototype.reset):
1698         (WebInspector.SummaryBar.prototype.update):
1699         (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
1700         (WebInspector.SummaryBar.prototype._drawSwatch):
1701         (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
1702         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
1703         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
1704         (WebInspector.SummaryBar.prototype._fadeOutRect):
1705         (WebInspector.SummaryBar.prototype._makeLegendElement):
1706         * inspector/front-end/WebKit.qrc:
1707         * inspector/front-end/inspector.css:
1708         * inspector/front-end/inspector.html:
1709
1710 2009-08-26  Mikhail Naganov  <mnaganov@chromium.org>
1711
1712         Reviewed by Timothy Hatcher.
1713
1714         Start adding heap profiler to Inspector (hidden behind a flag.)
1715
1716         https://bugs.webkit.org/show_bug.cgi?id=28429
1717
1718         * English.lproj/localizedStrings.js:
1719         * inspector/front-end/ProfilesPanel.js:
1720         (WebInspector.ProfilesPanel):
1721         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
1722         (WebInspector.ProfilesPanel.prototype.reset):
1723         (WebInspector.ProfilesPanel.prototype.addProfile):
1724         (WebInspector.ProfilesPanel.prototype._updateInterface):
1725         (WebInspector.ProfilesPanel.prototype._snapshotClicked):
1726         * inspector/front-end/inspector.css:
1727         * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag.
1728
1729 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
1730
1731         Reviewed by Timothy Hatcher.
1732
1733         WebInspector: Metrics sidebar editing is broken.
1734
1735         https://bugs.webkit.org/show_bug.cgi?id=28434
1736
1737         * inspector/front-end/MetricsSidebarPane.js:
1738         (WebInspector.MetricsSidebarPane.prototype.update):
1739
1740 2009-08-27  Darin Fisher  <darin@chromium.org>
1741
1742         Reviewed by Dimitri Glazkov.
1743
1744         https://bugs.webkit.org/show_bug.cgi?id=28767
1745
1746         Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match
1747         KURL.cpp.  This makes the XSSAuditor tests pass when using KURLGoogle.
1748
1749         * platform/KURLGoogle.cpp:
1750         (WebCore::decodeURLEscapeSequences):
1751
1752 2009-08-27  Ariya Hidayat  <ariya.hidayat@nokia.com>
1753
1754         Reviewed by Tor Arne Vestbø.
1755
1756         [Qt] Build fix, missing functions after r47763.
1757
1758         * platform/qt/Localizations.cpp:
1759         (WebCore::localizedMediaControlElementString):
1760         (WebCore::localizedMediaControlElementHelpText):
1761         (WebCore::localizedMediaTimeDescription):
1762
1763 2009-08-26  Dumitru Daniliuc  <dumi@chromium.org>
1764
1765         Reviewed by Adam Barth.
1766
1767         Removing trailing whitespaces from all storage classes.
1768
1769         https://bugs.webkit.org/show_bug.cgi?id=28075
1770
1771         * storage/ChangeVersionWrapper.cpp:
1772         * storage/Database.cpp:
1773         * storage/Database.h:
1774         * storage/DatabaseDetails.h:
1775         * storage/DatabaseThread.cpp:
1776         * storage/DatabaseTracker.cpp:
1777         * storage/DatabaseTracker.h:
1778         * storage/LocalStorageTask.cpp:
1779         * storage/LocalStorageTask.h:
1780         * storage/LocalStorageThread.cpp:
1781         * storage/LocalStorageThread.h:
1782         * storage/OriginQuotaManager.cpp:
1783         * storage/OriginUsageRecord.cpp:
1784         * storage/OriginUsageRecord.h:
1785         * storage/SQLError.h:
1786         * storage/SQLResultSetRowList.h:
1787         * storage/SQLStatement.cpp:
1788         * storage/SQLStatement.h:
1789         * storage/SQLStatementCallback.h:
1790         * storage/SQLStatementErrorCallback.h:
1791         * storage/SQLTransaction.cpp:
1792         * storage/SQLTransaction.h:
1793         * storage/SQLTransactionCallback.h:
1794         * storage/SQLTransactionErrorCallback.h:
1795         * storage/Storage.cpp:
1796         * storage/Storage.h:
1797         * storage/StorageArea.h:
1798         * storage/StorageAreaImpl.cpp:
1799         * storage/StorageAreaImpl.h:
1800         * storage/StorageAreaSync.cpp:
1801         * storage/StorageAreaSync.h:
1802         * storage/StorageEvent.cpp:
1803         * storage/StorageEvent.h:
1804         * storage/StorageMap.cpp:
1805         * storage/StorageMap.h:
1806         * storage/StorageNamespaceImpl.cpp:
1807         * storage/StorageSyncManager.cpp:
1808         * storage/StorageSyncManager.h:
1809
1810 2009-08-26  Dave Hyatt  <hyatt@apple.com>
1811
1812         Reviewed by Anders Carlsson.
1813
1814         https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes.
1815
1816         Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen.  We need
1817         to do this in order for overflow information to be properly recomputed.
1818
1819         * rendering/style/RenderStyle.cpp:
1820         (WebCore::RenderStyle::diff):
1821
1822 2009-08-26  Eric Carlson  <eric.carlson@apple.com>
1823
1824         Reviewed by Simon Fraser.
1825
1826         HTMLMediaElement sometimes loses events
1827         https://bugs.webkit.org/show_bug.cgi?id=28762
1828         <rdar://problem/7172437>
1829
1830         A media element triggers the resource selection algorithm if 
1831         play() is called when the networkState attribute is NETWORK_EMPTY, but
1832         it also immediately queues 'play' and either 'waiting' or 'playing' events.
1833         One of the steps in preparing to load is to flush pending events, so those 
1834         events were lost if the load timer fired quickly enough. Fixed by deleting
1835         pending events before scheduling the load timer.
1836
1837         Test: media/audio-play-event.html
1838
1839         * html/HTMLMediaElement.cpp:
1840         (WebCore::HTMLMediaElement::scheduleLoad):
1841             Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of 
1842             pending events is flushed immediately.
1843         (WebCore::HTMLMediaElement::scheduleNextSourceChild):
1844             New, start the load timer without flushing pending events.
1845         (WebCore::HTMLMediaElement::load):
1846             Call prepareForLoad();
1847         (WebCore::HTMLMediaElement::prepareForLoad):
1848             New, load setup code moved from loadInternal.
1849         (WebCore::HTMLMediaElement::loadInternal):
1850             Moved some setup code to prepareForLoad so it can be invoked immediately before
1851             arming the load timer.
1852         (WebCore::HTMLMediaElement::setNetworkState):
1853             Call scheduleNextSourceChild instead of scheduleLoad as the later now clears
1854             pending events.
1855         * html/HTMLMediaElement.h:
1856             Declare scheduleNextSourceChild.
1857
1858 2009-08-26  Peter Kasting  <pkasting@google.com>
1859
1860         Reviewed by Eric Seidel.
1861
1862         https://bugs.webkit.org/show_bug.cgi?id=28751
1863         Switch ICO decoder from a Vector of raw pointers to a Vector of
1864         OwnPtrs now that that is possible.  Makes code slightly simpler.
1865
1866         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1867         (WebCore::ICOImageDecoder::decodeAtIndex):
1868         (WebCore::ICOImageDecoder::processDirectory):
1869         * platform/image-decoders/ico/ICOImageDecoder.h:
1870
1871 2009-08-26  Dave Hyatt  <hyatt@apple.com>
1872
1873         Reviewed by Dan Bernstein.
1874
1875         https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint.
1876         Make sure vertical overflow is still computed across self-painting layers, even though it isn't
1877         propagated to parents.
1878
1879         Added fast/repaint/rel-positioned-inline-with-overflow.html
1880
1881         * rendering/InlineFlowBox.cpp:
1882         (WebCore::InlineFlowBox::computeVerticalOverflow):
1883
1884 2009-08-26  David Levin  <levin@chromium.org>
1885
1886         Reviewed by Darin Fisher.
1887
1888         ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
1889         https://bugs.webkit.org/show_bug.cgi?id=28735
1890
1891         Renaming the method to imply its wider implications of affecting cookies
1892         over any protocol that supports them.
1893
1894         No change in functionality so no new tests.
1895
1896         * WebCore.order:
1897         * loader/DocumentThreadableLoader.cpp:
1898         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1899         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
1900         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
1901         * platform/network/ResourceRequestBase.cpp:
1902         (WebCore::ResourceRequestBase::adopt):
1903         (WebCore::ResourceRequestBase::copyData):
1904         (WebCore::ResourceRequestBase::allowCookies):
1905         (WebCore::ResourceRequestBase::setAllowCookies):
1906         (WebCore::equalIgnoringHeaderFields):
1907         * platform/network/ResourceRequestBase.h:
1908         (WebCore::ResourceRequestBase::ResourceRequestBase):
1909         * platform/network/cf/ResourceRequestCFNet.cpp:
1910         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1911         (WebCore::ResourceRequest::doUpdateResourceRequest):
1912         * platform/network/mac/ResourceRequestMac.mm:
1913         (WebCore::ResourceRequest::doUpdateResourceRequest):
1914         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1915         * platform/network/soup/ResourceRequestSoup.cpp:
1916         (WebCore::ResourceRequest::updateFromSoupMessage):
1917
1918 2009-08-26  Dan Bernstein  <mitz@apple.com>
1919
1920         Reviewed by Dave Hyatt.
1921
1922         Made RenderInline::clippedOverflowRectForRepaint() actually include
1923         overflow.
1924
1925         Test: fast/repaint/inline-overflow.html
1926
1927         * rendering/RenderInline.cpp:
1928         (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns
1929             the bounding box of all lines’ visible overflow boxes (under the
1930             assumption that the first and last lines determine the top and
1931             bottom, respectively).
1932         (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use
1933             linesVisibleOverflowBoundingBox() instead of linesBoundingBox().
1934         * rendering/RenderInline.h:
1935
1936 2009-08-26  John Gregg  <johnnyg@google.com>
1937
1938         Reviewed by David Levin.
1939
1940         minor style correction and include fix for notifications
1941         https://bugs.webkit.org/show_bug.cgi?id=28745
1942
1943         No change in behavior, so no tests.
1944
1945         * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h
1946         * notifications/Notification.cpp: change enum style to InterCaps
1947         (WebCore::Notification::Notification):
1948         * notifications/NotificationPresenter.h:
1949         (WebCore::NotificationPresenter::):
1950
1951 2009-08-25  Drew Wilson  <atwilson@google.com>
1952
1953         Reviewed by David Levin.
1954
1955         postMessage() spec now supports sending arrays of ports
1956         https://bugs.webkit.org/show_bug.cgi?id=26902
1957
1958         Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch.
1959
1960         No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice.
1961
1962         * WebCore.xcodeproj/project.pbxproj:
1963         Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now.
1964         * dom/MessageEvent.cpp:
1965         Updated APIs to support passing MessagePortArrays.
1966         (WebCore::MessageEvent::MessageEvent):
1967         (WebCore::MessageEvent::initMessageEvent):
1968         (WebCore::MessageEvent::messagePort):
1969         * dom/MessageEvent.h:
1970         (WebCore::MessageEvent::create):
1971         Now accepts a MessagePortArray parameter instead of a single MessagePort.
1972         (WebCore::MessageEvent::ports):
1973         * dom/MessagePort.cpp:
1974         (WebCore::MessagePort::postMessage):
1975         (WebCore::MessagePort::dispatchMessages):
1976         (WebCore::MessagePort::disentanglePorts):
1977         Added new static function to extract a MessagePortChannelArray from a MessagePortArray.
1978         (WebCore::MessagePort::entanglePorts):
1979         Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray.
1980         * dom/MessagePort.h:
1981         * dom/MessagePortChannel.cpp:
1982         EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel.
1983         (WebCore::MessagePortChannel::EventData::create):
1984         (WebCore::MessagePortChannel::EventData::EventData):
1985         * dom/MessagePortChannel.h:
1986         (WebCore::MessagePortChannel::EventData::channels):
1987         * page/DOMWindow.cpp:
1988         (WebCore::PostMessageTimer::PostMessageTimer):
1989         (WebCore::PostMessageTimer::event):
1990         (WebCore::DOMWindow::postMessage):
1991         Now accepts a MessagePortArray parameter instead of a single MessagePort.
1992         * page/DOMWindow.h:
1993         * workers/DedicatedWorkerContext.cpp:
1994         (WebCore::DedicatedWorkerContext::postMessage):
1995         Now accepts a MessagePortArray parameter instead of a single MessagePort.
1996         (WebCore::DedicatedWorkerContext::dispatchMessage):
1997         * workers/DedicatedWorkerContext.h:
1998         * workers/Worker.cpp:
1999         (WebCore::Worker::postMessage):
2000         Now accepts a MessagePortArray parameter instead of a single MessagePort.
2001         (WebCore::Worker::dispatchMessage):
2002         * workers/Worker.h:
2003         * workers/WorkerContextProxy.h:
2004         * workers/WorkerMessagingProxy.cpp:
2005         Updated WorkerObjectProxy and WorkerContextProxy API implementations to support sending multiple MessagePorts.
2006         (WebCore::MessageWorkerContextTask::create):
2007         (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
2008         (WebCore::MessageWorkerContextTask::performTask):
2009         (WebCore::MessageWorkerTask::create):
2010         (WebCore::MessageWorkerTask::MessageWorkerTask):
2011         (WebCore::MessageWorkerTask::performTask):
2012         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
2013         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2014         * workers/WorkerMessagingProxy.h:
2015         * workers/WorkerObjectProxy.h:
2016         Updated WorkerObjectProxy and WorkerContextProxy APIs to support sending multiple MessagePorts.
2017
2018 2009-08-26  Fumitoshi Ukai  <ukai@chromium.org>
2019
2020         Reviewed by Alexey Proskuryakov.
2021
2022         SocketStreamHandle interface for WebSocket API
2023         https://bugs.webkit.org/show_bug.cgi?id=28037
2024
2025         Add build systems only for GNUmakefile.am and WebCore.xcodeproj.now.
2026         Other build systems will be updated once the code is functional.
2027         Tests will be landed once this code is complete and functional.
2028
2029         * GNUmakefile.am:
2030         * WebCore.xcodeproj/project.pbxproj:
2031         * platform/network/SocketStreamErrorBase.cpp: Added.
2032         * platform/network/SocketStreamErrorBase.h: Added.
2033         * platform/network/SocketStreamHandleBase.cpp: Added.
2034         * platform/network/SocketStreamHandleBase.h: Added.
2035         * platform/network/SocketStreamHandleClient.h: Added.
2036         * platform/network/cf/SocketStreamError.h: Added.
2037         * platform/network/cf/SocketStreamHandle.h: Added.
2038         * platform/network/cf/SocketStreamHandleCFNet.cpp: Added.
2039         * platform/network/soup/SocketStreamError.h: Added.
2040         * platform/network/soup/SocketStreamHandle.h: Added.
2041         * platform/network/soup/SocketStreamHandleSoup.cpp: Added.
2042
2043 2009-08-26  Mads Ager  <ager@chromium.org>
2044
2045         Reviewed by Dimitri Glazkov.
2046
2047         [V8] setTimeout does not convert non-string argument to string
2048         https://bugs.webkit.org/show_bug.cgi?id=28739
2049
2050         Convert non-string argument to setTimeout to string in the V8
2051         bindings.
2052
2053         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2054         (WebCore::V8Custom::WindowSetTimeoutImpl):
2055
2056 2009-08-25  Oliver Hunt  <oliver@apple.com>
2057
2058         Reviewed by Gavin Barraclough.
2059
2060         [ES5] Implement getOwnPropertyDescriptor
2061         https://bugs.webkit.org/show_bug.cgi?id=28724
2062
2063         Implement the WebCore side of getOwnPropertyDescriptor.  This
2064         requires a custom implementation of getOwnPropertyDescriptor
2065         for every class with a custom implementation of getOwnPropertySlot.
2066
2067         The bindings generator has been updated to generate appropriate
2068         versions of getOwnPropertyDescriptor for the general case where
2069         a custom getOwnPropertyDescriptor is not needed.  ES5 is vague
2070         about how getOwnPropertyDescriptor should work in the context of
2071         "host" functions with polymorphic [[GetOwnProperty]], so it seems
2072         okay that occasionally we "guess" what attributes -- eg. determining
2073         whether a property is writable.
2074
2075         Test: fast/js/getOwnPropertyDescriptor.html
2076
2077         * bindings/js/JSDOMWindowCustom.cpp:
2078         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2079         * bindings/js/JSDOMWindowShell.cpp:
2080         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
2081         * bindings/js/JSDOMWindowShell.h:
2082         * bindings/js/JSHTMLAppletElementCustom.cpp:
2083         (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
2084         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2085         (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
2086         * bindings/js/JSHTMLObjectElementCustom.cpp:
2087         (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
2088         * bindings/js/JSHistoryCustom.cpp:
2089         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
2090         * bindings/js/JSLocationCustom.cpp:
2091         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
2092         * bindings/js/JSNamedNodesCollection.cpp:
2093         (WebCore::JSNamedNodesCollection::getOwnPropertyDescriptor):
2094         * bindings/js/JSNamedNodesCollection.h:
2095         * bindings/js/JSPluginElementFunctions.cpp:
2096         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
2097         * bindings/js/JSPluginElementFunctions.h:
2098         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2099         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
2100         * bindings/js/JSQuarantinedObjectWrapper.h:
2101         * bindings/js/JSWorkerContextCustom.cpp:
2102         (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
2103         * bindings/scripts/CodeGeneratorJS.pm:
2104         * bridge/objc/objc_runtime.h:
2105         * bridge/objc/objc_runtime.mm:
2106         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
2107         * bridge/runtime.h:
2108         (JSC::Bindings::Instance::getOwnPropertyDescriptor):
2109         * bridge/runtime_array.cpp:
2110         (JSC::RuntimeArray::getOwnPropertyDescriptor):
2111         * bridge/runtime_array.h:
2112         * bridge/runtime_method.cpp:
2113         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
2114         * bridge/runtime_method.h:
2115         * bridge/runtime_object.cpp:
2116         (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
2117         * bridge/runtime_object.h:
2118
2119 2009-08-26  Vincent Untz <vuntz@gnome.org>
2120
2121         Reviewed by Xan Lopez.
2122
2123         GObject checks for NULL (and not 0) in g_object_get, so use that
2124         as we were already doing elsewhere to make the compiler happy.
2125
2126         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2127         (WebCore::MediaPlayerPrivate::hasAudio):
2128
2129 2009-08-26  Alpha Lam  <hclam@chromium.org>
2130
2131         Reviewed by David Levin.
2132
2133         RenderThemeMac.mm has incorrect casting for media control element.
2134         https://bugs.webkit.org/show_bug.cgi?id=28730
2135
2136         MediaControlMuteButtonElement was incorrectly casted to
2137         MediaControlPlayButtonElement. This is corrected in this patch.
2138
2139         No new tests because this is code cleanup and is already covered by existing
2140         media layout tests.
2141
2142         * rendering/RenderThemeMac.mm:
2143         (WebCore::RenderThemeMac::paintMediaMuteButton):
2144
2145 2009-08-26  Robert Sesek  <rsesek@chromium.org>
2146
2147         Reviewed by Eric Seidel.
2148
2149         [Chromium] Multi-value select boxes cannot do non-contiguous selection on Mac
2150         https://bugs.webkit.org/show_bug.cgi?id=28670
2151
2152         Change the condition regarding the key modifier check for non-contiguous
2153         selection on a multi-value list from just PLATFORM(MAC) to
2154         PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN)).
2155
2156         No new tests. This patch only changes the condition on which a certain mouse
2157         event modifier key is used.
2158
2159         * dom/SelectElement.cpp:
2160         (WebCore::SelectElement::listBoxDefaultEventHandler):
2161
2162 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
2163
2164         Reviewed by Dan Bernstein
2165
2166         r47744 causes media/video-controls-with-mutation-event-handler.html to crash
2167         https://bugs.webkit.org/show_bug.cgi?id=28732
2168
2169         * rendering/MediaControlElements.cpp:
2170         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
2171             Don't call setAttribute from the construtor, any registered mutation event 
2172             listener will cause a crash.
2173
2174         * rendering/RenderMedia.cpp:
2175         (WebCore::RenderMedia::createVolumeSlider):
2176             Set the maxAttr here instead of in the constructor.
2177
2178 2009-08-25  Dmitry Titov  <dimich@chromium.org>
2179
2180         Reviewed by Brady Eidson.
2181
2182         Timers from cached pages fire instantly rather than the after the specified timeout delay
2183         https://bugs.webkit.org/show_bug.cgi?id=28683
2184
2185         Test: fast/dom/Window/timer-resume-on-navigation-back.html
2186
2187         * history/CachedPage.cpp:
2188         (WebCore::CachedPage::restore): Remove duplicated Frame::restore() call, since
2189             it should be done only once in FrameLoader::open(cachedFrame)
2190         * page/DOMTimer.cpp: Added a debug-only flag and ASSERT to catch out-of-order suspense/restore.
2191         (WebCore::DOMTimer::DOMTimer): Ditto.
2192         (WebCore::DOMTimer::suspend): Ditto.
2193         (WebCore::DOMTimer::resume): Ditto.
2194         * page/DOMTimer.h: Ditto.
2195
2196 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
2197
2198         Reviewed by Simon Fraser.
2199
2200         Setting the volume of a media element has no effect if called too early
2201         https://bugs.webkit.org/show_bug.cgi?id=28731
2202
2203         * manual-tests/audio-volume.html: 
2204             Added.
2205
2206         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2207         (WebCore::MediaPlayerPrivate::setVolume):
2208         (WebCore::MediaPlayerPrivate::setRate):
2209             Don't bail if metadata hasn't been loaded, it is fine to set rate and/or
2210             volume as soon as the movie has been created.
2211
2212 2009-08-25  David Levin  <levin@chromium.org>
2213
2214         Reviewed by Maciej Stachowiak.
2215
2216         DocumentThreadableLoader::getShouldUseCredentialStorage should allow for synchronous callbacks from SubresourceLoader::create.
2217         https://bugs.webkit.org/show_bug.cgi?id=28728
2218
2219         Test: This code path is exercised while running xhr layout tests in chromium.
2220
2221         * loader/DocumentThreadableLoader.cpp:
2222         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): When called
2223         back synchronously, the loader is 0, so the assert is changed to allow for that.
2224         (WebCore::DocumentThreadableLoader::loadRequest): Synchronous callbacks may be
2225         done before SubresourceLoader::create finishes, so ensure that any previous loader
2226         -- from a preflight request -- is cleared before calling SubresourceLoader::create.
2227
2228 2009-08-25  Mark Rowe  <mrowe@apple.com>
2229
2230         Stop installing IDL files in to the framework.
2231
2232         * WebCore.xcodeproj/project.pbxproj:
2233
2234 2009-08-25  Kent Tamura  <tkent@chromium.org>
2235
2236         Reviewed by Eric Seidel.
2237
2238         Support for HTMLInputElement::list and HTMLInputElement::selectedOption.
2239         https://bugs.webkit.org/show_bug.cgi?id=27756
2240
2241         Tests: fast/forms/input-list.html
2242                fast/forms/input-selectedoption.html
2243
2244         * html/HTMLAttributeNames.in:
2245         * html/HTMLInputElement.cpp:
2246         (WebCore::HTMLInputElement::parseMappedAttribute):
2247         (WebCore::HTMLInputElement::list):
2248         (WebCore::HTMLInputElement::selectedOption):
2249         * html/HTMLInputElement.h:
2250         * html/HTMLInputElement.idl:
2251
2252 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
2253
2254         Reviewed by Oliver Hunt.
2255
2256         <video> and <audio> controller should be accessible (edit)
2257         https://bugs.webkit.org/show_bug.cgi?id=28081
2258
2259         Test: accessibility/media-element.html
2260
2261         * GNUmakefile.am:
2262         * WebCore.gypi:
2263         * WebCore.pro:
2264         * WebCore.vcproj/WebCore.vcproj:
2265         * WebCore.xcodeproj/project.pbxproj:
2266         * WebCoreSources.bkl:
2267             Add AccessibilityMediaControls.cpp/.h
2268
2269         * accessibility/AXObjectCache.cpp:
2270         * accessibility/AXObjectCache.h:
2271         (WebCore::AXObjectCache::getOrCreate):
2272             Create AccessibilityMediaControl. Update Copyright
2273
2274         * accessibility/AccessibilityMediaControls.cpp:
2275         * accessibility/AccessibilityMediaControls.h:
2276             Added.
2277
2278         * accessibility/AccessibilityObject.cpp:
2279         * accessibility/AccessibilityObject.h:
2280             Add isMediaTimeline. Update Copyright.
2281
2282         * accessibility/AccessibilitySlider.h:
2283             Make constructor protected instead of private so AccessibilityMediaTimeline can
2284             call it.
2285
2286         * accessibility/mac/AccessibilityObjectWrapper.mm:
2287         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2288             Add NSAccessibilityValueDescriptionAttribute to range attributes. 
2289         (-[AccessibilityObjectWrapper subrole]):
2290             Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.
2291
2292         * dom/Node.h:
2293             add isMediaControlElement.
2294
2295         * page/mac/WebCoreViewFactory.h:
2296         * platform/LocalizedStrings.h:
2297         * platform/mac/LocalizedStringsMac.mm:
2298         (WebCore::localizedMediaControlElementString): 
2299         (WebCore::localizedMediaControlElementHelpText):
2300         (WebCore::localizedMediaTimeDescription): 
2301             New, return localized media controller strings.
2302
2303         * platform/gtk/LocalizedStringsGtk.cpp:
2304         (WebCore::mediaElementLoadingStateText):
2305         (WebCore::mediaElementLiveBroadcastStateText):
2306             Move inside of "#if ENABLE(VIDEO)"
2307         (WebCore::localizedMediaControlElementString):
2308         (WebCore::localizedMediaControlElementHelpText):
2309         (WebCore::localizedMediaTimeDescription):
2310
2311         * rendering/MediaControlElements.cpp:
2312         (WebCore::MediaControlElement::MediaControlElement):
2313             Initialize m_displayType.
2314         (WebCore::MediaControlElement::MediaControlElement):
2315         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
2316             Fix style.
2317         (WebCore::MediaControlInputElement::MediaControlInputElement):
2318             Set m_displayType based on pseudo style ID.
2319         (WebCore::MediaControlInputElement::MediaControlInputElement):
2320             rename local "o" to "object".
2321         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
2322         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
2323         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
2324         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
2325         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
2326         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2327         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
2328         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2329         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2330         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2331             Update for MediaControlInputElement constructor change.
2332         (WebCore::MediaControlTimeDisplayElement::formatTime):
2333             New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
2334         (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
2335             New, set text to current time.
2336         * rendering/MediaControlElements.h:
2337
2338         * rendering/RenderMedia.cpp:
2339         (WebCore::RenderMedia::updateControls):
2340             Create controls in tab order.
2341         (WebCore::RenderMedia::formatTime):
2342             Moved to MediaControlTimeDisplayElement::formatTime.
2343         (WebCore::RenderMedia::updateTimeDisplay):
2344             Call MediaControlTimeDisplayElement::setCurrentValue.
2345         * rendering/RenderMedia.h:
2346
2347 2009-08-25  Jian Li  <jianli@chromium.org>
2348
2349         Reviewed by David Levin.
2350
2351         [V8] Fix Canvas layout test failures in Chromium build.
2352         https://bugs.webkit.org/show_bug.cgi?id=28720
2353
2354         The previous fix r47757 does not handle the V8 object conversion correctly.
2355
2356         * bindings/v8/custom/V8DocumentCustom.cpp:
2357         (WebCore::CALLBACK_FUNC_DECL):
2358         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2359         (WebCore::CALLBACK_FUNC_DECL):
2360
2361 2009-08-25  Jian Li  <jianli@chromium.org>
2362
2363         Reviewed by David Levin.
2364
2365         [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
2366         https://bugs.webkit.org/show_bug.cgi?id=28717
2367
2368         * bindings/v8/DOMObjectsInclude.h:
2369         * bindings/v8/DerivedSourcesAllInOne.cpp:
2370         * bindings/v8/V8Index.cpp:
2371         * bindings/v8/V8Index.h:
2372         * bindings/v8/custom/V8DocumentCustom.cpp:
2373         (WebCore::CALLBACK_FUNC_DECL):
2374         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2375         (WebCore::CALLBACK_FUNC_DECL):
2376
2377 2009-08-25  Alpha Lam  <hclam@chromium.org>
2378
2379         Reviewed by David Levin.
2380
2381         [chromium] Implement media volume slider for chromium
2382         https://bugs.webkit.org/show_bug.cgi?id=28715
2383
2384         Provided the implementation of the volume slider and its container for
2385         chromium port. With this change there will be a usable volume control
2386         slider for chromium theme.
2387
2388         No new tests since this is covered by existing media layout tests.
2389
2390         * css/mediaControlsChromium.css: CSS style for the volume slider.
2391         * rendering/RenderThemeChromiumSkia.cpp:
2392         (WebCore::mediaSliderThumbImage): Returns the image for slider thumb.
2393         (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb.
2394         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line.
2395         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images.
2396         (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image.
2397         (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image.
2398
2399 2009-08-25  Chris Marrin  <cmarrin@apple.com>
2400
2401         Reviewed by Simon Fraser.
2402
2403         Missed checking in 2 Canvas3D files
2404         https://bugs.webkit.org/show_bug.cgi?id=28018
2405
2406         * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding
2407         * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls
2408
2409 2009-08-25  Mads Ager  <ager@chromium.org>
2410
2411         Reviewed by Adam Barth.
2412
2413         [V8] Exception from JavaScript propagates to main script
2414         https://bugs.webkit.org/show_bug.cgi?id=26433
2415
2416         Make sure that exceptions thrown both at compile time and at
2417         runtime in javascript URLs are isolated from the main script.
2418
2419         Test: fast/dom/javascript-url-exception-isolation.html
2420
2421         * bindings/v8/V8Proxy.cpp:
2422         (WebCore::V8Proxy::evaluate):
2423
2424 2009-08-25  Chris Marrin  <cmarrin@apple.com>
2425
2426         Reviewed by Simon Fraser.
2427
2428         Added all new Canvas3D files to the build
2429         https://bugs.webkit.org/show_bug.cgi?id=28018
2430
2431         This also hooks up CanvasRenderingContext as the common base class for
2432         CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit
2433         of logic throughout to support the new CanvasRenderingContext3D object.
2434         But nothing is hooked up yet.
2435
2436         * DerivedSources.make:
2437         * WebCore.pro:
2438         * WebCore.vcproj/WebCore.vcproj:
2439         * WebCore/GNUmakefile.am:
2440         * WebCore/WebCore.gypi:
2441         * WebCore/WebCoreSources.bkl:
2442         * WebCore.xcodeproj/project.pbxproj:
2443         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2444         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
2445         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
2446         (WebCore::JSCanvasRenderingContext2D::fillStyle):
2447         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
2448         (WebCore::JSCanvasRenderingContext2D::setFillColor):
2449         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2450         (WebCore::JSCanvasRenderingContext2D::strokeRect):
2451         (WebCore::JSCanvasRenderingContext2D::drawImage):
2452         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2453         (WebCore::JSCanvasRenderingContext2D::setShadow):
2454         (WebCore::JSCanvasRenderingContext2D::createPattern):
2455         (WebCore::JSCanvasRenderingContext2D::putImageData):
2456         (WebCore::JSCanvasRenderingContext2D::fillText):
2457         (WebCore::JSCanvasRenderingContext2D::strokeText):
2458         * bindings/js/JSDOMBinding.cpp:
2459         (WebCore::isObservableThroughDOM):
2460         * bindings/js/JSDocumentCustom.cpp:
2461         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2462         (WebCore::JSHTMLCanvasElement::markChildren):
2463         * dom/Document.cpp:
2464         (WebCore::Document::getCSSCanvasContext):
2465         * dom/Document.h:
2466         * html/HTMLCanvasElement.cpp:
2467         (WebCore::HTMLCanvasElement::getContext):
2468         (WebCore::HTMLCanvasElement::willDraw):
2469         (WebCore::HTMLCanvasElement::reset):
2470         (WebCore::HTMLCanvasElement::paint):
2471         (WebCore::HTMLCanvasElement::is3D):
2472         (WebCore::HTMLCanvasElement::context3D):
2473         (WebCore::HTMLCanvasElement::texture3D):
2474         * html/HTMLCanvasElement.h:
2475         (WebCore::HTMLCanvasElement::renderingContext):
2476         * html/canvas/CanvasObject.cpp:
2477         (WebCore::CanvasObject::~CanvasObject):
2478         * html/canvas/CanvasRenderingContext.idl:
2479         * html/canvas/CanvasRenderingContext2D.cpp:
2480         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2481         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2482         * html/canvas/CanvasRenderingContext2D.h:
2483         (WebCore::CanvasRenderingContext2D::is2d):
2484         * html/canvas/CanvasRenderingContext2D.idl:
2485         * html/canvas/CanvasRenderingContext3D.cpp:
2486         * html/canvas/CanvasRenderingContext3D.idl:
2487
2488 2009-08-25  Dan Bernstein  <mitz@apple.com>
2489
2490         Reviewed by Anders Carlsson.
2491
2492         REGRESSION (r47630): fast/repaint/background-generated.html is failing
2493         https://bugs.webkit.org/show_bug.cgi?id=28704
2494
2495         * rendering/RenderBoxModelObject.cpp:
2496         (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone.
2497         * rendering/style/FillLayer.cpp:
2498         (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone.
2499         * rendering/style/FillLayer.h:
2500         (WebCore::FillSize::FillSize): Changed assignment to initialization and
2501             removed redundant assignment to size.
2502
2503 2009-08-25  Yusuke Sato  <yusukes@chromium.org>
2504
2505         Reviewed by Darin Fisher.
2506
2507         [Chromium] Complex text doesn't show up with text stroking
2508         https://bugs.webkit.org/show_bug.cgi?id=28707
2509
2510         Skip the NULL check of m_hdc if Windows GDI is not in use.
2511
2512         * platform/graphics/chromium/FontChromiumWin.cpp:
2513         (WebCore::Font::drawComplexText):
2514
2515 2009-08-25  Alpha Lam  <hclam@chromium.org>
2516
2517         Reviewed by David Levin.
2518
2519         Media controls panel does not have a volume control slider
2520         https://bugs.webkit.org/show_bug.cgi?id=28241
2521
2522         Introduced "-webkit-media-controls-volume-slider",
2523         "-webkit-media-controls-volume-slider-container" and the supporting
2524         implementation. Also added appearances of "media-volume-slider" and
2525         "media-volume-slider-container".
2526
2527         The implementation of the controls are in WebCore::MediaControlElements.
2528         Logic to trigger the display of the volume controls are in WebCore::RenderMedia.
2529
2530         No new tests since this change doesn't have theme implementation and the
2531         volume slider is disabled by default.
2532
2533         * accessibility/AccessibilitySlider.cpp:
2534         (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical.
2535         * css/CSSPrimitiveValueMappings.h:
2536         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values.
2537         * css/CSSSelector.cpp:
2538         (WebCore::CSSSelector::extractPseudoType): ditto.
2539         * css/CSSSelector.h:
2540         (WebCore::CSSSelector::): ditto.
2541         * css/CSSStyleSelector.cpp:
2542         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
2543         * css/CSSValueKeywords.in: ditto.
2544         * css/mediaControls.css: Makes the volume slider disabled by default.
2545         * platform/ThemeTypes.h: Defines theme parts for volume slider and its container.
2546         (WebCore::):
2547         * rendering/MediaControlElements.cpp:
2548         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
2549         (WebCore::MediaControlVolumeSliderContainerElement::styleForElement):
2550         Adjust the CSS values for "display", "postion", "left" and "top" according to member variables.
2551         (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value.
2552         (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values.
2553         (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element.
2554         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
2555         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging.
2556         * rendering/MediaControlElements.h:
2557         (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement.
2558         (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter.
2559         * rendering/RenderMedia.cpp:
2560         (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider.
2561         (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel.
2562         (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container.
2563         (WebCore::RenderMedia::updateControls): Updates volume container and volume slider.
2564         (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child.
2565         (WebCore::RenderMedia::forwardEvent):
2566         Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider.
2567         * rendering/RenderMedia.h:
2568         Added definition for RenderMedia::updateVolumeSliderContainer().
2569         * rendering/RenderMediaControls.cpp:
2570         (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented.
2571         * rendering/RenderSlider.cpp:
2572         (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical.
2573         (WebCore::RenderSlider::thumbRect): ditto.
2574         (WebCore::RenderSlider::mouseEventIsInThumb): ditto.
2575         (WebCore::RenderSlider::setValueForPosition): ditto.
2576         (WebCore::RenderSlider::positionForOffset): ditto.
2577         (WebCore::RenderSlider::currentPosition): ditto.
2578         (WebCore::RenderSlider::trackSize): ditto.
2579         * rendering/RenderTheme.cpp:
2580         (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb.
2581         (WebCore::RenderTheme::paint): Paints volume control parts using theme.
2582         * rendering/RenderTheme.h:
2583         (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden.
2584         (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto.
2585         (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto.
2586         * rendering/style/RenderStyleConstants.h:
2587         (WebCore::): Constants for volume control parts.
2588
2589 2009-08-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2590
2591         Reviewed by Ariya Hidayat.
2592
2593         [Qt/Mac] Use CONFIG+=build_all only when building libraries
2594
2595         If no configuration is specified when building WebKit we pass the
2596         debug_and_release option to QMake which results in Makefiles for
2597         both configurations being generated.
2598
2599         Previously we built both of these configurations by default, for
2600         all targets (both the QtWebKit framework/dyldlib and the various
2601         executables such as QtLauncher and tests). This makes sense for
2602         the libraries, which get the _debug suffix and can be loaded on
2603         demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
2604         ended up building the same executable twice.
2605
2606         We now only build one instance of each executable, and since this
2607         is a developer build we build the debug-version. Passing either
2608         --debug or --release to build-webkit will override this, and
2609         even in the default case the release version can still be built
2610         by running 'make release' in the the build directory of each
2611         target.
2612
2613         * WebCore.pro:
2614
2615 2009-08-25  Xan Lopez  <xlopez@igalia.com>
2616
2617         Reviewed by Jan Alonzo.
2618
2619         https://bugs.webkit.org/show_bug.cgi?id=28690
2620         Build failure in webkitgtk+-1.1.3
2621
2622         Do not use deprecated function to unref a pixbuf.
2623
2624         * platform/gtk/CursorGtk.cpp:
2625         (WebCore::Cursor::Cursor):
2626
2627 2009-08-24  Hironori Bono  <hbono@chromium.org>
2628
2629         Reviewed by Adam Barth.
2630
2631         Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
2632         <https://bugs.webkit.org/show_bug.cgi?id=27827>.
2633
2634         Because of the lack of mappings from GDK key-codes to WebKit key-codes,
2635         Chromium cannot send valid key-codes to JavaScript when a user types
2636         function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
2637
2638         To write layout tests for this issue, added mappings from function-key
2639         names to platform-specific key-codes to EventSendingController objects
2640         so that eventSender.keyDown() can send function-key events without using
2641         platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
2642         is only for Mac. So this change adds this new test to Skipped tests for other
2643         platforms to prevent this change from crashing the build trees.)
2644
2645         Test: fast/events/keydown-function-keys.html
2646
2647        * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes
2648         to WebKit key-code for function keys.
2649         (WebCore::windowsKeyCodeForKeyEvent):
2650
2651 2009-08-24  Antti Koivisto  <antti@apple.com>
2652
2653         Reviewed by Simon Fraser.
2654         
2655         https://bugs.webkit.org/show_bug.cgi?id=28698
2656         Avoid unnecessary transformations for the window resizer rect.
2657
2658         * platform/Scrollbar.cpp:
2659         (WebCore::Scrollbar::setFrameRect):
2660
2661 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
2662
2663         Reviewed by Anders Carlsson.
2664
2665         <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391
2666         (DNS prefetching support)
2667
2668         * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary
2669         thread on Windows, because there isn't one on main one.
2670
2671 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
2672
2673         Reviewed by Darin Adler.
2674
2675         https://bugs.webkit.org/show_bug.cgi?id=28374
2676         Cross-scheme requests should not be blocked by appcache rules
2677
2678         Test: http/tests/appcache/different-scheme.html
2679
2680         * loader/appcache/ApplicationCacheHost.cpp:
2681         (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
2682         Resources with different schemes can never be loaded from appcache.
2683
2684 2009-08-24  Alexey Proskuryakov  <ap@apple.com>
2685
2686         Reviewed by Darin Adler and Sam Weinig.
2687
2688         https://bugs.webkit.org/show_bug.cgi?id=28688
2689         REGRESSION(r24994): Cannot create a frame with a javascript URL
2690
2691         Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html
2692
2693         * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue):
2694         * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL):
2695         * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL):
2696         * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc):
2697         Omit the checks if there is no document in frame yet.
2698
2699 2009-08-24  Nate Chapin  <japhet@chromium.org>
2700
2701         Reviewed by Eric Seidel.
2702
2703         Fix crash in fast/css/rem-dynamic-scaling.html due to a freed
2704         RenderStyle being accessed.
2705
2706         https://bugs.webkit.org/show_bug.cgi?id=28681
2707
2708         * dom/Element.cpp:
2709         (WebCore::Element::recalcStyle): Make currentStyle a RefPtr.
2710
2711 2009-08-24  Dan Bernstein  <mitz@apple.com>
2712
2713         Reviewed by Simon Fraser.
2714
2715         <rdar://problem/5743105> Long freezing during loading and selecting text
2716         of a large table
2717         https://bugs.webkit.org/show_bug.cgi?id=14918
2718
2719         * rendering/RenderView.cpp:
2720         (WebCore::RenderView::setSelection): Added calls to
2721             beginDeferredRepaints() and endDeferredRepaints() around the
2722             invalidation of the selection, in order to better coalesce multiple
2723             invalid rectangles.
2724
2725 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
2726
2727         Reviewed by Timothy Hatcher.
2728
2729         WebInspector: Simplify findTreeElement code, get rid of potential infinite loop.
2730
2731         https://bugs.webkit.org/show_bug.cgi?id=28680
2732
2733         * inspector/front-end/ElementsPanel.js:
2734         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2735         * inspector/front-end/ElementsTreeOutline.js:
2736         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
2737         * inspector/front-end/treeoutline.js:
2738         (TreeOutline.prototype.getCachedTreeElement):
2739         (TreeOutline.prototype.findTreeElement):
2740         * inspector/front-end/utilities.js:
2741         (isAncestorNode):
2742         ():
2743
2744 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
2745
2746         Reviewed by Timothy Hatcher.
2747
2748         WebInspector: Do expand local scope when hitting the break
2749
2750         https://bugs.webkit.org/show_bug.cgi?id=28678
2751
2752         * inspector/front-end/ScopeChainSidebarPane.js:
2753         (WebInspector.ScopeChainSidebarPane.prototype.update):
2754
2755 2009-08-24  Ada Chan  <adachan@apple.com>
2756
2757         Reviewed by Steve Falkenburg.
2758
2759         Make sure we use the current FrameView's frame rect when
2760         going back to a cached page.
2761         
2762         https://bugs.webkit.org/show_bug.cgi?id=28659
2763
2764         * loader/FrameLoader.cpp:
2765         (WebCore::FrameLoader::open):
2766
2767 2009-08-24  Cameron McCormack  <cam@mcc.id.au>
2768
2769         Reviewed by Darin Adler.
2770
2771         Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList
2772         https://bugs.webkit.org/show_bug.cgi?id=28673
2773
2774         Test: svg/dom/text-rotate-live.html
2775
2776         * svg/SVGNumberList.cpp:
2777         (WebCore::SVGNumberList::parse): Clear the list before adding the parsed
2778         numbers.
2779
2780 2009-08-24  Simon Fraser  <simon.fraser@apple.com>
2781
2782         Reviewed by NOBODY (build fix)
2783
2784         Turn off ENABLE_3D_CANVAS in the xconfig files.
2785
2786         * Configurations/FeatureDefines.xcconfig:
2787
2788 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
2789
2790         Reviewed by Timothy Hatcher.
2791
2792         WebInspector: Only expand local scope when hitting the break
2793
2794         https://bugs.webkit.org/show_bug.cgi?id=28678
2795
2796         * inspector/front-end/ScopeChainSidebarPane.js:
2797         (WebInspector.ScopeChainSidebarPane.prototype.update):
2798
2799 2009-08-24  Dan Bernstein  <mitz@apple.com>
2800
2801         Reviewed by Simon Fraser.
2802
2803         background-size fails to parse if a single length/percentage/auto is followed by a comma
2804         https://bugs.webkit.org/show_bug.cgi?id=28674
2805
2806         * css/CSSParser.cpp:
2807         (WebCore::CSSParser::parseFillSize): Added an allowComma parameter,
2808             which is set to false when this method consumes a comma. Moved
2809             handling of 'contain' and 'cover' from parseFillProperty into this
2810             method.
2811         (WebCore::CSSParser::parseFillProperty): Set allowComma to true before
2812             processing the next value, and pass allowComma to parseFillSize.
2813         * css/CSSParser.h:
2814
2815 2009-08-17  Martin Robinson  <martin.james.robinson@gmail.com>
2816
2817         Reviewed by Gustavo Noronha.
2818
2819         [GTK] Support for cursors that are images
2820         https://bugs.webkit.org/show_bug.cgi?id=28346
2821
2822         Added support for cursors which are images for CursorGtk. Added
2823         a manual test for this.
2824
2825         * manual-tests/gtk/cursor-image.html: Added.
2826         * manual-tests/gtk/resources/redcursor.cur: Added.
2827         * platform/gtk/CursorGtk.cpp:
2828         (WebCore::Cursor::Cursor):
2829
2830 2009-08-24  Zan Dobersek  <zandobersek@gmail.com>
2831
2832         Reviewed by Gustavo Noronha.
2833
2834         [GTK] Integrate GStreamer video with the graphics backend
2835         https://bugs.webkit.org/show_bug.cgi?id=16356
2836
2837         Improves GStreamer backend implementation of MediaPlayerPrivate class.
2838
2839         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2840         (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer
2841         error for different GStreamer errors to MediaPlayerPrivate.
2842         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static
2843         initialization boolean to a better place.
2844         (WebCore::MediaPlayerPrivate::play):
2845         (WebCore::MediaPlayerPrivate::pause):
2846         (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not
2847         consider the source as stream if duration query failed.
2848         (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use
2849         an early return.
2850         (WebCore::MediaPlayerPrivate::seek): Return if error occured.
2851         (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this
2852         function doesn't seem to be used anywhere in WebCore.
2853         (WebCore::MediaPlayerPrivate::paused):
2854         (WebCore::MediaPlayerPrivate::seeking):
2855         (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set.
2856         (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured.
2857         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
2858         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
2859         (WebCore::MediaPlayerPrivate::bytesLoaded):
2860         (WebCore::MediaPlayerPrivate::totalBytesKnown):
2861         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
2862         (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update
2863         after seek ended with a successful change
2864         (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached.
2865         (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error.
2866         (WebCore::mimeTypeCache): Gather supported mime types from GStreamer.
2867         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2868         (WebCore::MediaPlayerPrivate::supportsType):
2869         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
2870         (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen
2871         support.
2872         (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin,
2873         do not set playbin's audio sink.
2874         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2875         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
2876         (webkit_video_sink_idle_func): Use C++ casts, decrease reference count of async
2877         queue at the end of the idle function.
2878         (webkit_video_sink_render): Increase reference count of async queue.
2879         (webkit_video_sink_stop): Remove any idle functions with the sink as data.
2880
2881 2009-08-23  Chris Marrin  <cmarrin@apple.com>
2882
2883         Reviewed by Simon Fraser.
2884
2885         Remaining new files for Canvas3D
2886         https://bugs.webkit.org/show_bug.cgi?id=28018
2887
2888         * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef
2889         * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions
2890         * html/canvas/CanvasByteArray.h: Added.
2891         * html/canvas/CanvasByteArray.idl: Added.
2892         * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions
2893         * html/canvas/CanvasNumberArray.h: Added.
2894         * html/canvas/CanvasNumberArray.idl: Added.
2895
2896 2009-08-24  Pavel Feldman  <pfeldman@chromium.org>
2897
2898         Reviewed by Timothy Hatcher.
2899
2900         WebInspector: Migrate call frames interaction to the InjectedScript-based schema.
2901
2902         https://bugs.webkit.org/show_bug.cgi?id=28408
2903
2904         * inspector/front-end/CallStackSidebarPane.js:
2905         (WebInspector.CallStackSidebarPane.prototype.update):
2906         * inspector/front-end/ConsoleView.js:
2907         (WebInspector.ConsoleView.prototype.doEvalInWindow):
2908         (WebInspector.ConsoleTextMessage):
2909         * inspector/front-end/DOMAgent.js:
2910         (WebInspector.DOMAgent.prototype.get domWindow):
2911         (InspectorController.openInInspectedWindow):
2912         (InspectorController.getCallFrames):
2913         (InspectorController.evaluateInCallFrame):
2914         * inspector/front-end/ElementsPanel.js:
2915         (WebInspector.ElementsPanel.prototype.reset):
2916         (WebInspector.ElementsPanel.prototype.generateStylesheet):
2917         * inspector/front-end/InjectedScript.js:
2918         (InjectedScript.evaluate):
2919         (InjectedScript._evaluateOn):
2920         (InjectedScript.openInInspectedWindow):
2921         (InjectedScript.getCallFrames):
2922         (InjectedScript.evaluateInCallFrame):
2923         (InjectedScript._callFrameForId):
2924         (InjectedScript._objectForId):
2925         (InjectedScript.CallFrameProxy):
2926         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
2927         * inspector/front-end/ObjectPropertiesSection.js:
2928         (WebInspector.ObjectPropertiesSection.prototype._update):
2929         * inspector/front-end/ObjectProxy.js:
2930         (WebInspector.ObjectPropertyProxy):
2931         * inspector/front-end/ResourcesPanel.js:
2932         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
2933         * inspector/front-end/ScopeChainSidebarPane.js:
2934         (WebInspector.ScopeChainSidebarPane):
2935         (WebInspector.ScopeChainSidebarPane.prototype.update):
2936         (WebInspector.ScopeVariableTreeElement.prototype.onattach):
2937         (WebInspector.ScopeVariableTreeElement.prototype.onexpand):
2938         (WebInspector.ScopeVariableTreeElement.prototype.oncollapse):
2939         * inspector/front-end/ScriptsPanel.js:
2940         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2941         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
2942         (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback):
2943         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
2944
2945 2009-08-24  Kent Tamura  <tkent@chromium.org>
2946
2947         Reviewed by Eric Seidel.
2948
2949         Add support for the placeholder attribute and DOM property of the textarea element.
2950         https://bugs.webkit.org/show_bug.cgi?id=21248
2951
2952         A DOM node for an INPUT element doesn't have a flag for placeholder
2953         visibility anymore.  This patch also fixes a bug that a renderer
2954         doesn't reflect a corresponding DOM value change.
2955
2956         Tests: fast/forms/textarea-placeholder-dom-property.html
2957                fast/forms/textarea-placeholder-pseudo-style.html
2958                fast/forms/textarea-placeholder-set-attribute.html
2959                fast/forms/textarea-placeholder-set-value.html
2960
2961         * css/html.css: Add the default style for placeholder of textarea.
2962         * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal
2963         (WebCore::InputElement::dispatchFocusEvent):
2964         (WebCore::InputElement::dispatchBlurEvent):
2965         (WebCore::InputElement::placeholderShouldBeVisible):
2966         (WebCore::InputElement::updatePlaceholderVisibility):
2967         (WebCore::InputElement::setValueFromRenderer):
2968         (WebCore::InputElementData::InputElementData):
2969         * dom/InputElement.h:
2970         * html/HTMLInputElement.cpp:
2971         (WebCore::HTMLInputElement::dispatchFocusEvent):
2972         (WebCore::HTMLInputElement::dispatchBlurEvent):
2973         (WebCore::HTMLInputElement::setValue):
2974         (WebCore::HTMLInputElement::placeholderShouldBeVisible):
2975         * html/HTMLInputElement.h:
2976         (WebCore::HTMLInputElement::updatePlaceholderVisibility):
2977         * html/HTMLTextAreaElement.cpp:
2978         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2979         (WebCore::HTMLTextAreaElement::setValue):
2980         (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible):
2981         (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility):
2982         (WebCore::HTMLTextAreaElement::dispatchFocusEvent):
2983         (WebCore::HTMLTextAreaElement::dispatchBlurEvent):
2984         * html/HTMLTextAreaElement.h:
2985         * html/HTMLTextAreaElement.idl:
2986         * rendering/RenderTextControl.cpp:
2987         (WebCore::RenderTextControl::RenderTextControl):
2988         (WebCore::RenderTextControl::styleDidChange):
2989         (WebCore::RenderTextControl::setInnerTextStyle):
2990         (WebCore::RenderTextControl::updatePlaceholderVisibility):
2991         * rendering/RenderTextControl.h:
2992         * rendering/RenderTextControlMultiLine.cpp:
2993         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
2994         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2995         (WebCore::RenderTextControlMultiLine::updateFromElement):
2996         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2997         (WebCore::RenderTextControlMultiLine::textBaseStyle):
2998         * rendering/RenderTextControlMultiLine.h:
2999         * rendering/RenderTextControlSingleLine.cpp:
3000         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
3001         (WebCore::RenderTextControlSingleLine::textBaseStyle):
3002         (WebCore::RenderTextControlSingleLine::updateFromElement):
3003         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3004         * rendering/RenderTextControlSingleLine.h:
3005         * wml/WMLInputElement.cpp:
3006         (WebCore::WMLInputElement::dispatchFocusEvent):
3007         (WebCore::WMLInputElement::dispatchBlurEvent):
3008         (WebCore::WMLInputElement::setValue):
3009         (WebCore::WMLInputElement::placeholderShouldBeVisible):
3010
3011 2009-08-23  Dirk Schulze  <krit@webkit.org>
3012
3013         Reviewed by Mark Rowe.
3014
3015         Code clean-up and build fix for filters enabled builds. Moved SVGNames.h
3016         into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other
3017         files. They are needed there after r47688.
3018
3019         * dom/Document.cpp:
3020         * svg/SVGComponentTransferFunctionElement.h:
3021         * svg/SVGFELightElement.h:
3022         * svg/SVGFEMergeNodeElement.h:
3023         * svg/SVGFilterPrimitiveStandardAttributes.h:
3024
3025 2009-08-23  Gustavo Noronha Silva  <gns@gnome.org>
3026
3027         Unreviewed, build fix for make distcheck on GTK+.
3028
3029         * GNUmakefile.am: Added files needed for the build.
3030         * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include
3031         with #if clause.
3032         * bindings/js/JSEventTarget.cpp: Dito.
3033         * dom/Document.cpp: Dito.
3034         * loader/FrameLoader.cpp: Dito.
3035
3036 2009-08-23  Joseph Pecoraro  <joepeck@webkit.org>
3037
3038         Reviewed by Timothy Hatcher.
3039
3040         Inspector: Throws an Error on "null"
3041         https://bugs.webkit.org/show_bug.cgi?id=28665
3042
3043         * inspector/front-end/InjectedScript.js:
3044         (InjectedScript.evaluate):
3045
3046 2009-08-23  Pavel Feldman  <pfeldman@chromium.org>
3047
3048         Reviewed by Timothy Hatcher.
3049
3050         Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often
3051
3052         https://bugs.webkit.org/show_bug.cgi?id=28666
3053
3054         * inspector/front-end/InjectedScript.js:
3055         (InjectedScript.getProperties):
3056         (InjectedScript.createProxyObject):
3057
3058 2009-08-22  Martin Robinson  <martin.james.robinson@gmail.com>
3059
3060         Reviewed by Xan Lopez.
3061
3062         [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly
3063         https://bugs.webkit.org/show_bug.cgi?id=28345
3064
3065         When doing the conversion between cairo_surface_t* and GdkPixbuf*
3066         account for the differences in the respective formats' in-memory
3067         image format.
3068
3069         * platform/graphics/gtk/ImageGtk.cpp:
3070         (WebCore::getCairoSurfacePixel):
3071         (WebCore::getGdkPixbufPixel):
3072         (WebCore::BitmapImage::getGdkPixbuf):
3073
3074 2009-08-22  Darin Adler  <darin@apple.com>
3075
3076         Reviewed by Oliver Hunt.
3077
3078         Make DOM classes start with a reference count of 1, like all other RefCounted
3079         
3080         Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
3081         HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
3082         HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.
3083
3084         * DerivedSources.make: Fix error seen every time we build by escaping the $
3085         in the build rule, since you have to use $$ for that in make.
3086
3087         * WebCore.base.exp: Updated.
3088
3089         * bindings/objc/DOM.mm:
3090         Added now-needed include of SVGNames.h.
3091
3092         * dom/Document.cpp: Added now-needed include of SVGNames.h.
3093         (WebCore::Document::createElement): Use create instead of new.
3094
3095         * dom/Element.cpp:
3096         (WebCore::Element::Element): Added ConstructionType argument so the caller
3097         can determine whether this starts with a reference count of either 0 or 1.
3098         Later we will remove this again once they are all 1.
3099         (WebCore::Element::create): Added.
3100
3101         * dom/Element.h: Added create and made constructor protected.
3102
3103         * dom/StyledElement.cpp:
3104         (WebCore::StyledElement::StyledElement): Added ConstructionType argument.
3105         * dom/StyledElement.h: Made many functions protected or private, including
3106         the constructor.
3107
3108         * dom/make_names.pl: Use create to create the base elements HTMLElement,
3109         SVGElement, and WMLElement.
3110
3111         * editing/CreateLinkCommand.cpp:
3112         (WebCore::CreateLinkCommand::doApply): Use create instead of new.
3113         * editing/UnlinkCommand.cpp:
3114         (WebCore::UnlinkCommand::doApply): Ditto.
3115
3116         * html/HTMLAnchorElement.cpp:
3117         (WebCore::HTMLAnchorElement::create): Added.
3118         * html/HTMLAnchorElement.h: Made constructor protected and added create.
3119         Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.
3120
3121         * html/HTMLAppletElement.cpp:
3122         (WebCore::HTMLAppletElement::create): Added.
3123         * html/HTMLAppletElement.h: Made constructor private and added create.
3124
3125         * html/HTMLAreaElement.cpp:
3126         (WebCore::HTMLAreaElement::create): Added.
3127         * html/HTMLAreaElement.h: Made constructor private and added create.
3128
3129         * html/HTMLElement.cpp:
3130         (WebCore::HTMLElement::create): Added.
3131         * html/HTMLElement.h: Made constructor protected and added create.
3132         Made other functions protected and private. Also added inline
3133         definition of constructor.
3134
3135         * html/HTMLEmbedElement.cpp:
3136         (WebCore::HTMLEmbedElement::create): Added.
3137         * html/HTMLEmbedElement.h: Made constructor private and added create.
3138         Made other functions private.
3139
3140         * html/HTMLFrameElement.cpp:
3141         (WebCore::HTMLFrameElement::create): Added.
3142         (WebCore::HTMLFrameElement::parseMappedAttribute):
3143         * html/HTMLFrameElement.h: Made constructor private and added create.
3144         Made other functions private.
3145
3146         * html/HTMLFrameElementBase.h: Made functions protected and private.
3147
3148         * html/HTMLFrameOwnerElement.cpp:
3149         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
3150         CreateElement so reference count starts at 1.
3151
3152         * html/HTMLFrameOwnerElement.h: Made functions protected and private.
3153
3154         * html/HTMLIFrameElement.cpp:
3155         (WebCore::HTMLIFrameElement::create): Added.
3156         * html/HTMLIFrameElement.h: Made constructor private and added create.
3157         Made other functions private.
3158
3159         * html/HTMLObjectElement.cpp:
3160         (WebCore::HTMLObjectElement::create): Added.
3161         (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
3162         into a for loop and tweaked formatting.
3163
3164         * html/HTMLObjectElement.h: Made constructor private and added create.
3165         Made other functions private.
3166
3167         * html/HTMLPlugInElement.h: Made constructor protected.
3168         Made other functions protected and private.
3169
3170         * html/HTMLPlugInImageElement.h: Made constructor and another function
3171         protected.
3172
3173         * html/HTMLTagNames.in: Removed createWithNew from all classes that
3174         now have create functions. Moved conditional noscript to a separate
3175         paragraph.
3176
3177         * html/HTMLViewSourceDocument.cpp:
3178         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
3179         (WebCore::HTMLViewSourceDocument::addLink): Ditto.
3180         * page/DragController.cpp:
3181         (WebCore::documentFragmentFromDragData): Ditto.
3182
3183         * svg/SVGElement.cpp:
3184         (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
3185         so reference count still starts at 0. Will change this class later.
3186         (WebCore::SVGElement::create): Added.
3187         * svg/SVGElement.h: Added create, made constructor protected, and
3188         made other functions protected and private. Removed unneeded
3189         SVGNames.h include.
3190
3191         * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h
3192         include.
3193
3194         * svg/SVGStopElement.h: Added now-needed SVGNames.h include.
3195         Made functions private.
3196
3197         * wml/WMLElement.cpp:
3198         (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
3199         so reference count still starts at 0. Will change this class later.
3200         (WebCore::WMLElement::create): Added.
3201         * wml/WMLElement.h: Added create and made constructor protected.
3202
3203         * wml/WMLTagNames.in: Removed createWithNew from WMLElement.
3204
3205 2009-08-22  Adele Peterson  <adele@apple.com>
3206
3207         Reviewed by Anders Carlsson.
3208
3209         Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars
3210
3211         Custom scrollbars normally get detached when a document gets detached.  In this case, a crash was happening when the document had gone into the page cache 
3212         and then was getting destroyed without proper scrollbar teardown.  This change makes custom scrollbars get detached when the document enters the cache.
3213
3214         I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time.
3215
3216         * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created.  
3217           They'll get reattached when the document comes out of the page cache.
3218         * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.
3219
3220 2009-08-22  David Hyatt  <hyatt@apple.com>
3221
3222         Reviewed by Dan Bernstein.
3223
3224         Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
3225         the bottom of their parent blocks.  The old code prevented all collapsing, but all CSS2.1 states is that:
3226         "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."
3227         
3228         The implication is that the bottom margin can still collapse, and the block-inside-inline form of
3229         fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
3230         on it to get comparable results.
3231
3232         Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/
3233
3234         * rendering/RenderBlock.cpp:
3235         (WebCore::RenderBlock::MarginInfo::MarginInfo):
3236         (WebCore::RenderBlock::collapseMargins):
3237         (WebCore::RenderBlock::clearFloatsIfNeeded):
3238         (WebCore::RenderBlock::handleBottomOfBlock):
3239         * rendering/RenderBlock.h:
3240         (WebCore::RenderBlock::MarginInfo::clearMargin):
3241         (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):
3242
3243 2009-08-22  Chris Fleizach  <cfleizach@apple.com>
3244
3245         Reviewed by Darin Adler.
3246
3247         Need to implement ARIA role="listitem" and role="list"
3248         https://bugs.webkit.org/show_bug.cgi?id=28606
3249
3250         Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html
3251
3252         * accessibility/AXObjectCache.cpp:
3253         (WebCore::AXObjectCache::getOrCreate):
3254         * accessibility/AccessibilityList.cpp:
3255         (WebCore::AccessibilityList::isUnorderedList):
3256         * accessibility/AccessibilityRenderObject.cpp:
3257         (WebCore::RoleEntry::):
3258
3259 2009-08-21  Dan Bernstein  <mitz@apple.com>
3260
3261         Reviewed by Darin Adler.
3262
3263         Clean up fill image geometry calculation
3264         https://bugs.webkit.org/show_bug.cgi?id=28652
3265
3266         * rendering/RenderBoxModelObject.cpp:
3267         (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed
3268             calculateBackgroundSize() to this. Replaced separate scaledWidth and
3269             scaledHeight parameters with a single scaledSize parameter. Renamed
3270             parameters and local variables.
3271         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed
3272             to use CSS3 Backgrounds and Borders terminology in comments and
3273             local variable names. Renamed, clarified and consolidated some local
3274             variables.
3275         * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.
3276
3277 2009-08-22  Chris Marrin  <cmarrin@apple.com>
3278
3279         Unreviewed, build fix.
3280
3281         Backing out http://trac.webkit.org/changeset/47669
3282
3283         * html/canvas/CanvasRenderingContext2D.cpp:
3284         * html/canvas/CanvasRenderingContext2D.h:
3285
3286 2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
3287
3288         Unreviewed, build fix.
3289
3290         Backing out http://trac.webkit.org/changeset/47671 in preparation of
3291         rolling out http://trac.webkit.org/changeset/47669.
3292
3293 2009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
3294
3295         Reviewed by Anders Carlsson.
3296
3297         Build fix, add CanvasRenderingContext to build systems.
3298         https://bugs.webkit.org/show_bug.cgi?id=28018
3299
3300         * DerivedSources.make: Added CanvasRenderinContext.
3301         * GNUmakefile.am: Ditto.
3302         * WebCore.gypi: Ditto.
3303         * WebCore.pro: Ditto.
3304         * WebCore.xcodeproj/project.pbxproj: Ditto.
3305         * WebCoreSources.bkl: Ditto.
3306
3307 2009-08-21  Chris Marrin  <cmarrin@apple.com>
3308
3309         Reviewed by Oliver Hunt.
3310
3311         New files implementing GL buffer wrappers, and support to make them platform independent
3312         https://bugs.webkit.org/show_bug.cgi?id=28018
3313
3314         * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object
3315         * html/canvas/CanvasBuffer.h: Added.
3316         * html/canvas/CanvasBuffer.idl: Added.
3317         * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object
3318         * html/canvas/CanvasFramebuffer.h: Added.
3319         * html/canvas/CanvasFramebuffer.idl: Added.
3320         * html/canvas/CanvasObject.h: Expose m_context
3321         * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object
3322         * html/canvas/CanvasProgram.h: Added.
3323         * html/canvas/CanvasProgram.idl: Added.
3324         * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object
3325         * html/canvas/CanvasRenderbuffer.h: Added.
3326         * html/canvas/CanvasRenderbuffer.idl: Added.
3327         * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here
3328         * html/canvas/CanvasRenderingContext3D.h:
3329         * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object
3330         * html/canvas/CanvasShader.h: Added.
3331         * html/canvas/CanvasShader.idl: Added.
3332         * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object
3333         * html/canvas/CanvasTexture.h: Added.
3334         * html/canvas/CanvasTexture.idl: Added.
3335         * platform/graphics/GraphicsContext3D.cpp: Removed.
3336         * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D
3337         * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction
3338
3339 2009-08-21  Darin Adler  <darin@apple.com>
3340
3341         * WebCore.vcproj/build-generated-files.sh:
3342         * make-generated-sources.sh:
3343         Removed obsolete code to set up CREATE_HASH_TABLE.
3344
3345 2009-08-21  Adele Peterson  <adele@apple.com>
3346
3347         Reviewed by Mark Rowe.
3348
3349         <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled 
3350
3351         * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): 
3352         No need to open the file with write access.  Only read access is needed.
3353
3354 2009-08-21  Alexey Proskuryakov  <ap@apple.com>
3355
3356         Reviewed by Darin Adler.
3357
3358         <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html
3359
3360         Also fixes leaks seen on appcache tests.
3361
3362         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around
3363         something that's likely a CFNetwork issue. Note that on Windows, there is no matching API
3364         to call, and we do not think that the leak occurs there anyway.
3365
3366 2009-08-21  Dmitry Titov  <dimich@chromium.org>
3367
3368         Reviewed by David Levin.
3369
3370         https://bugs.webkit.org/show_bug.cgi?id=28650
3371         Remove cross-thread code from CrossOriginPreflightResultCache.
3372         Removed mutexes, atomic initializer and string copy.
3373
3374         No new tests, the worker tests cover this.
3375
3376         * loader/CrossOriginPreflightResultCache.cpp:
3377         (WebCore::addToAccessControlAllowList):
3378         (WebCore::CrossOriginPreflightResultCache::shared):
3379         (WebCore::CrossOriginPreflightResultCache::appendEntry):
3380         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
3381         (WebCore::CrossOriginPreflightResultCache::empty):
3382         * loader/CrossOriginPreflightResultCache.h:
3383
3384 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
3385
3386         Reviewed by Jan Alonzo.
3387
3388         Buildfix after http://trac.webkit.org/changeset/47655.
3389
3390         * html/HTMLFormControlElement.h:
3391
3392 2009-08-19  Joseph Pecoraro  <joepeck@webkit.org>
3393
3394         Reviewed by Timothy Hatcher.
3395
3396         Inspector: Improve Cookie DataGrid to Show Hidden Data
3397         https://bugs.webkit.org/show_bug.cgi?id=28269
3398
3399           Removed Custom Bindings
3400
3401         * bindings/js/JSInspectorBackendCustom.cpp:
3402         * bindings/v8/custom/V8CustomBinding.h:
3403         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
3404         * inspector/InspectorBackend.cpp:
3405
3406           Made Non-Custom Bindings in the Backend
3407
3408         (WebCore::InspectorBackend::getCookies):
3409         (WebCore::InspectorBackend::deleteCookie):
3410         * inspector/InspectorBackend.h:
3411         * inspector/InspectorBackend.idl:
3412         * inspector/InspectorController.cpp:
3413         (WebCore::InspectorController::deleteCookie):
3414         * inspector/InspectorController.h:
3415
3416           Build the Cookie ScriptObjects, handles using document.cookie in
3417           case the platform hasn't implemented raw cookie access.
3418
3419         * inspector/InspectorDOMAgent.cpp:
3420         (WebCore::InspectorDOMAgent::getCookies):
3421         (WebCore::InspectorDOMAgent::buildObjectForCookie):
3422         (WebCore::InspectorDOMAgent::buildArrayForCookies):
3423         * inspector/InspectorDOMAgent.h:
3424
3425           Complete the Asynchronous Calls
3426
3427         * inspector/InspectorFrontend.cpp:
3428         (WebCore::InspectorFrontend::didGetCookies):
3429         * inspector/InspectorFrontend.h:
3430
3431           Asynchronous Functions to get Cookie Data
3432
3433         * inspector/front-end/DOMAgent.js:
3434         (WebInspector.Cookies.getCookiesAsync):
3435         (WebInspector.Cookies.buildCookiesFromString): fallback behavior
3436
3437           Refactor to use the Asynchronous Functions
3438
3439         * inspector/front-end/CookieItemsView.js:
3440         (WebInspector.CookieItemsView):
3441         (WebInspector.CookieItemsView.prototype.get statusBarItems):
3442         (WebInspector.CookieItemsView.prototype.update.callback):
3443         (WebInspector.CookieItemsView.prototype.update):
3444         (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies):
3445         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
3446
3447           Cleaned/Commented Related Code
3448
3449         (InspectorController.searchCanceled):
3450         * inspector/front-end/InjectedScript.js:
3451         * platform/Cookie.h:
3452         * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
3453
3454 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
3455
3456         Reviewed by Adele Peterson.
3457
3458         https://bugs.webkit.org/show_bug.cgi?id=28145
3459         Add support for novalidate/formnovalidate attribute, from HTML5 specs:
3460         http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate
3461
3462         Tests: fast/forms/formnovalidate-attribute.html
3463                fast/forms/novalidate-attribute.html
3464
3465         * html/HTMLAttributeNames.in: added novalidate, formnovalidate
3466         * html/HTMLButtonElement.idl: formnovalidate attribute exposed
3467         * html/HTMLFormControlElement.cpp:
3468         (WebCore::HTMLFormControlElement::formNoValidate): attribute getter
3469         (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter
3470         * html/HTMLFormControlElement.h:
3471         * html/HTMLFormElement.cpp:
3472         (WebCore::HTMLFormElement::novalidate): attribute getter
3473         (WebCore::HTMLFormElement::setNovalidate): attribute setter
3474         * html/HTMLFormElement.h:
3475         * html/HTMLFormElement.idl: novalidate attribute exposed
3476         * html/HTMLInputElement.idl: formNoValidate attribute exposed
3477
3478 2009-08-21  Dan Bernstein  <mitz@apple.com>
3479
3480         Reviewed by Beth Dakin.
3481
3482         Rendering changes to complete
3483         [CSS3 Backgrounds and Borders] Add support for the "contain" value for
3484         background-size
3485         https://bugs.webkit.org/show_bug.cgi?id=27573
3486         and
3487         [CSS3 Backgrounds and Borders] Add support for the "cover" value for
3488         background-size
3489         https://bugs.webkit.org/show_bug.cgi?id=27574
3490
3491         Test: fast/backgrounds/size/contain-and-cover.html
3492
3493         * rendering/RenderBoxModelObject.cpp:
3494         (WebCore::RenderBoxModelObject::calculateBackgroundSize):
3495         * rendering/RenderObject.cpp:
3496         (WebCore::mustRepaintFillLayers):
3497
3498 2009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
3499
3500         Reviewed by Adele Peterson.
3501
3502         https://bugs.webkit.org/show_bug.cgi?id=27452
3503         Add support for checkValidity() method and invalid event, from HTML5
3504         specs:
3505         http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity
3506
3507         Tests: fast/events/invalid-001.html
3508                fast/events/invalid-002.html
3509                fast/events/invalid-003.html
3510                fast/events/invalid-004.html
3511                fast/events/invalid-005.html
3512                fast/forms/checkValidity-001.html
3513                fast/forms/checkValidity-002.html
3514                fast/forms/checkValidity-003.html
3515                fast/forms/checkValidity-004.html
3516
3517         * dom/Document.idl: oninvalid event handler
3518         * dom/Element.idl: ditto
3519         * dom/EventNames.h: added invalid event
3520         * dom/Node.cpp:
3521         (WebCore::Node::oninvalid): ditto
3522         (WebCore::Node::setOninvalid): ditto
3523         * dom/Node.h: ditto
3524         * html/HTMLAttributeNames.in: oninvalid attribute
3525         * html/HTMLButtonElement.idl: added checkValidity() method
3526         * html/HTMLElement.cpp:
3527         (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid
3528         * html/HTMLFieldSetElement.idl: added checkValidity() method
3529         * html/HTMLFormControlElement.cpp:
3530         (WebCore::HTMLFormControlElement::checkValidity): checkValidity()
3531         implementation
3532         * html/HTMLFormControlElement.h:
3533         * html/HTMLFormElement.cpp:
3534         (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
3535         for form elements
3536         * html/HTMLFormElement.h: checkValidity() definition
3537         * html/HTMLFormElement.idl: added checkValidity() method
3538         * html/HTMLInputElement.idl: added checkValidity() method
3539         * html/HTMLSelectElement.idl: added checkValidity() method
3540         * html/HTMLTextAreaElement.idl: added checkValidity() method
3541         * page/DOMWindow.cpp:
3542         (WebCore::DOMWindow::oninvalid): oninvalid event handler
3543         (WebCore::DOMWindow::setOninvalid): ditto
3544         * page/DOMWindow.h: ditto
3545         * page/DOMWindow.idl: ditto
3546
3547 2009-08-21  Beth Dakin  <bdakin@apple.com>
3548
3549         Reviewed by Dan Bernstein.
3550
3551         The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 
3552         Backgrounds and Borders] Add support for the "round" value for 
3553         background-repeat
3554         -and-
3555         https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and 
3556         Borders] Add support for the "space" value for background-repeat
3557
3558         * css/CSSParser.cpp:
3559         (WebCore::CSSParser::parseFillProperty):
3560         * css/CSSPrimitiveValueMappings.h:
3561         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3562         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
3563         * css/CSSValueKeywords.in:
3564         * rendering/style/FillLayer.h:
3565         * rendering/style/RenderStyleConstants.h:
3566         (WebCore::):
3567
3568 2009-08-21  Chris Marrin  <cmarrin@apple.com>
3569
3570         Reviewed by Oliver Hunt.
3571
3572         New files for Canvas 3D feature
3573         https://bugs.webkit.org/show_bug.cgi?id=28018
3574
3575         This is all the new files for implementing Canvas 3D. None of them are hooked up and
3576         are not even included in the build yet. This incorporates the reviews from Simon
3577         and Ollie for these files.
3578
3579         * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array
3580         * html/CanvasObject.cpp: Added. Base class for all GL object containers
3581         * html/CanvasObject.h: Added.
3582         * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D
3583         * html/CanvasRenderingContext.h:&n