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