8ec845a1b40f31960b4f8fad06ae441b9e55f7b7
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-27  Yury Semikhatsky  <yurys@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         [v8] Web Inspector: notify ScriptDebugListener when execution is resumed
6         https://bugs.webkit.org/show_bug.cgi?id=39838
7
8         * bindings/v8/ScriptDebugServer.cpp:
9         (WebCore::ScriptDebugServer::handleV8DebugEvent):
10
11 2010-05-27  Anders Bakken  <agbakken@gmail.com>
12
13         Reviewed by David Levin.
14
15         qt_pixmapruntime.cpp has coding-style errors
16         https://bugs.webkit.org/show_bug.cgi?id=39745
17
18         Fix webkit coding style issues in qt_pixmapruntime.cpp
19
20         * bridge/qt/qt_pixmapruntime.cpp:
21
22 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
23
24         Reviewed by Steve Block.
25
26         Clean up IndexedDB layout tests
27         https://bugs.webkit.org/show_bug.cgi?id=39748
28
29         Remove an assert that always fires.
30
31         Tests: storage/indexeddb/idb-database-request.html
32                storage/indexeddb/indexed-database-request.html
33
34         * storage/IDBDatabaseImpl.cpp:
35         (WebCore::IDBDatabaseImpl::objectStores):
36
37 2010-05-27  Pavel Feldman  <pfeldman@chromium.org>
38
39         Reviewed by Yury Semikhatsky.
40
41         Web Inspector: Get CSS rule offsets lazily.
42
43         https://bugs.webkit.org/show_bug.cgi?id=39832
44
45         * inspector/InspectorCSSStore.cpp:
46         (WebCore::InspectorCSSStore::getStartEndOffsets):
47         * inspector/InspectorDOMAgent.cpp:
48         (WebCore::InspectorDOMAgent::buildObjectForRule):
49
50 2010-05-27  Anders Bakken  <agbakken@gmail.com>
51
52         Reviewed by David Levin.
53
54         qt_class.cpp has coding-style errors
55         https://bugs.webkit.org/show_bug.cgi?id=39741
56
57         Fix webkit coding style issues in qt_class.cpp
58
59         * bridge/qt/qt_class.cpp:
60         (JSC::Bindings::QtClass::fieldNamed):
61
62 2010-05-27  Eric Seidel  <eric@webkit.org>
63
64         Reviewed by Darin Adler.
65
66         Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
67         https://bugs.webkit.org/show_bug.cgi?id=39714
68
69         This came from a discussion on #webkit with Hyatt about this code
70         being old and no longer used to either of our knowledge.
71
72         No functional changes, thus no tests.
73
74         I also removed a bogus FIXME I had added in an earlier patch
75         before I understood what the HTMLTokenizer was trying to do.
76
77         * html/HTMLTokenizer.cpp:
78         (WebCore::HTMLTokenizer::scriptHandler):
79         (WebCore::HTMLTokenizer::scriptExecution):
80         (WebCore::HTMLTokenizer::continueProcessing):
81         (WebCore::HTMLTokenizer::willWriteHTML):
82         (WebCore::HTMLTokenizer::didWriteHTML):
83         (WebCore::HTMLTokenizer::timerFired):
84         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
85
86 2010-05-27  Anton Muhin  <antonm@chromium.org>
87
88         Reviewed by Adam Barth.
89
90         Add callbacks to ScriptController to allow notifications on named items additions and removals
91         https://bugs.webkit.org/show_bug.cgi?id=39679
92
93         * bindings/js/ScriptController.h: Callbacks with empty implementation added.
94         (WebCore::ScriptController::namedItemAdded):
95         (WebCore::ScriptController::namedItemRemoved):
96         * bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
97         (WebCore::ScriptController::namedItemAdded):
98         (WebCore::ScriptController::namedItemRemoved):
99         * bindings/v8/ScriptController.h: Callbacks added.
100         * html/HTMLDocument.cpp: Hooking in callbacks.
101         (WebCore::HTMLDocument::addItemToMap):
102         (WebCore::HTMLDocument::removeItemFromMap):
103         * html/HTMLDocument.h:
104
105 2010-05-27  Zhenyao Mo  <zmo@google.com>
106
107         Reviewed by Dimitri Glazkov.
108
109         Implement lazy clearing of renderbuffers
110         https://bugs.webkit.org/show_bug.cgi?id=36248
111
112         Test: fast/canvas/webgl/renderbuffer-initialization.html
113
114         * html/canvas/WebGLFramebuffer.cpp:
115         (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
116         (WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
117         (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
118         (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
119         (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
120         (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
121         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
122         * html/canvas/WebGLFramebuffer.h:
123         (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
124         (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
125         (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
126         * html/canvas/WebGLRenderbuffer.cpp:
127         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
128         * html/canvas/WebGLRenderbuffer.h:
129         (WebCore::WebGLRenderbuffer::isInitialized): As the function name.
130         (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
131         * html/canvas/WebGLRenderingContext.cpp:
132         (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
133         (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
134         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
135         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
136         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
137         (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
138         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
139         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
140         * platform/graphics/mac/GraphicsContext3DMac.cpp:
141         (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.
142
143 2010-05-27  Kristian Monsen  <kristianm@google.com>
144
145         Reviewed by Darin Adler.
146
147         Compile fix for Android, added include for Refcounted.h, this did not get
148         included through Threading.h in Android.
149         https://bugs.webkit.org/show_bug.cgi?id=39678
150
151         Build fix only, no new tests.
152
153         * storage/SQLTransactionSyncCallback.h:
154
155 2010-05-27  Joone Hur  <joone@kldp.org>
156
157         Reviewed by Xan Lopez.
158
159         Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+
160
161         https://bugs.webkit.org/show_bug.cgi?id=39567
162
163         * platform/gtk/ScrollbarGtk.cpp:
164
165 2010-05-27  Hans Wennborg  <hans@chromium.org>
166
167         Reviewed by Alexey Proskuryakov.
168
169         Increase limit on number of (i)frames from 200 to 1000.
170         https://bugs.webkit.org/show_bug.cgi?id=39427
171
172         The limit on number of iframes was introduced in r3707 back in 2003.
173         An example of a page that is broken because of this is:
174         http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
175         Neither Firefox nor IE has such a limit.
176
177         It seems that WebKit can handle a significantly higher number of frames, and
178         the original reasons for imposing the limit are believed to be gone.
179
180         Tests: compositing/iframes/lots-of-iframes.html
181                compositing/iframes/lots-of-objects.html
182
183         * html/HTMLFrameElementBase.cpp:
184         (WebCore::HTMLFrameElementBase::isURLAllowed):
185         * page/FrameTree.cpp:
186         (WebCore::FrameTree::uniqueChildName):
187         * page/Page.h:
188         * rendering/RenderEmbeddedObject.cpp:
189         (WebCore::isURLAllowed):
190
191 2010-05-27  Kwang Yul Seo  <skyul@company100.net>
192
193         Reviewed by Xan Lopez.
194
195         [GTK] writeToFile fails when length is large
196         https://bugs.webkit.org/show_bug.cgi?id=39666
197
198         writeToFile forgot to increment data pointer.
199
200         * platform/gtk/FileSystemGtk.cpp:
201         (WebCore::writeToFile):
202
203 2010-05-26  David Hyatt  <hyatt@apple.com>
204
205         Reviewed by Sam Weinig.
206
207         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
208         
209         Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
210         |to| argument to be a RenderBlock.
211         
212         Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
213         by hand.
214
215         Make the append forms of the functions just use the insert forms with a beforeChild of 0.
216         
217         Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
218         case where it does an append.
219         
220         Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
221         messed up when using append/insertChildNode.
222
223         * rendering/RenderBlock.cpp:
224         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
225         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
226         (WebCore::RenderBlock::createAndAppendRootInlineBox):
227         (WebCore::RenderBlock::moveChildTo):
228         (WebCore::RenderBlock::moveChildrenTo):
229         (WebCore::RenderBlock::makeChildrenNonInline):
230         (WebCore::RenderBlock::removeChild):
231         * rendering/RenderBlock.h:
232         (WebCore::RenderBlock::moveChildTo):
233         (WebCore::RenderBlock::moveAllChildrenTo):
234         (WebCore::RenderBlock::moveChildrenTo):
235         * rendering/RenderLayer.cpp:
236         (WebCore::RenderLayer::addChild):
237         * rendering/RenderObjectChildList.cpp:
238         (WebCore::RenderObjectChildList::insertChildNode):
239         * rendering/RenderRubyBase.cpp:
240         (WebCore::RenderRubyBase::moveInlineChildren):
241
242 2010-05-27  Eric Seidel  <eric@webkit.org>
243
244         Reviewed by Adam Barth.
245
246         Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
247         https://bugs.webkit.org/show_bug.cgi?id=39818
248
249         HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
250         for authoring convenience.  Our new HTML5Lexer didn't have this hack yet
251         so there were 4 HTML5 tests failing.  Fixing this fixed the last of the HTML5
252         test suite regressions using the HTML5Lexer vs the old lexer.
253
254         * html/HTML5Lexer.cpp:
255         (WebCore::HTML5Lexer::reset):
256         (WebCore::HTML5Lexer::nextToken):
257         * html/HTML5Lexer.h:
258         (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
259         * html/HTML5TreeBuilder.cpp:
260         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
261
262 2010-05-26  Eric Seidel  <eric@webkit.org>
263
264         Reviewed by Adam Barth.
265
266         Teach the HTML5 parser how to handle external scripts
267         https://bugs.webkit.org/show_bug.cgi?id=39716
268
269         Make it possible for the HTML5Tokenizer to run external scripts.
270         I created a new class HTML5ScriptRunner to hold all of the
271         script-logic which is scattered throughout the old HTMLTokenizer.
272
273         The design is for the HTML5Tokenizer (the "controller") to hold
274         the Lexer, TreeBuilder and ScriptRunner.  The Lexer returns back
275         to the controller, which passes tokens to the TreeBuilder.  When the
276         treebuilder encounters a </script> tag it pauses itself and returns
277         back to the controller which calls the ScriptRunner.  The TreeBuilder
278         is un-paused when the HTML5Tokenizer calls takeScriptToProcess().
279
280         The ScriptRunner attempts to process the passed script, and additionally
281         any blocked scripts it can.  It returns to the controller indicating if
282         parsing should continue.  If not, callbacks when external scripts load
283         or when stylesheets are finished parsing will cause the controller to
284         kick off script execution and parsing again at a later point.
285
286         * WebCore.xcodeproj/project.pbxproj:
287          - Add HTML5ScriptRunner.*
288         * bindings/js/CachedScriptSourceProvider.h:
289          - Add missing include discovered while building.
290         * dom/ScriptElement.cpp:
291         (WebCore::ScriptElement::finishParsingChildren):
292          - Remove previous hack for inline <script> execution.
293         * dom/ScriptElement.h:
294          - Explain the HTML5 spec names for m_evaluated and m_createdByParser.
295         * html/HTML5ScriptRunner.cpp: Added.
296         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
297          - The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
298            CachedResourceClient.  The HTML5ScriptRunner will register the
299            HTML5Tokenizer for notifyFinished callbacks when the scripts load.
300            The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
301            execute any loaded scripts at that point.
302         (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
303         (WebCore::HTML5ScriptRunner::frame): Helper method.
304         (WebCore::createScriptLoadEvent): Helper method.
305         (WebCore::createScriptErrorEvent): Helper method.
306         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
307          - Helper method for dealing with both inline and external script types.
308         (WebCore::HTML5ScriptRunner::isPendingScriptReady):
309          - Helper for dealing with both inline and external scripts.
310         (WebCore::HTML5ScriptRunner::executePendingScript):
311          - Execute one script.  Both external and inline scripts
312            can become m_parsingBlockingScript if they can't be executed
313            immediately after parsing.
314         (WebCore::HTML5ScriptRunner::execute):
315          - Takes a script element from the tree builder and tries
316            to process it.
317         (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
318          - Runs the current parsing blocking script if ready.
319          - Running a script could add another parsing blocking script
320            so we loop until there is no ready-to-run parsing blocking script.
321         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
322          - Called by HTML5Tokenizer when a script loads.
323         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
324          - Called by HTML5Tokenizer when stylesheets complete.
325         (WebCore::HTML5ScriptRunner::requestScript):
326          - Transcription of the HTML5 spec.
327         (WebCore::HTML5ScriptRunner::runScript):
328          - Transcription of the HTML5 spec.
329         * html/HTML5ScriptRunner.h: Added.
330          - New class to handle script loading and execution for the HTML5 parser.
331         * html/HTML5Tokenizer.cpp:
332         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
333          - Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
334         (WebCore::HTML5Tokenizer::pumpLexer):
335          - When the parser is paused, try to run scripts.
336         (WebCore::HTML5Tokenizer::write):
337          - Only pump the lexer when the parser is not paused.
338         (WebCore::HTML5Tokenizer::end):
339          - finish() tells us that we've reached EOF, not end()
340          - Only pump the lexer when the parser is not paused.
341         (WebCore::HTML5Tokenizer::finish):
342          - Mark EOF, and end() if we're not waiting on scripts.
343         (WebCore::HTML5Tokenizer::isWaitingForScripts):
344          - isPaused() seems to mean isPausedForExternalScripts().
345         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
346         (WebCore::HTML5Tokenizer::notifyFinished):
347         (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
348         * html/HTML5Tokenizer.h:
349         * html/HTML5TreeBuilder.cpp:
350         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
351          - Add an m_isPaused flag.
352         (WebCore::HTML5TreeBuilder::handleScriptStartTag):
353         (WebCore::HTML5TreeBuilder::handleScriptEndTag):
354         (WebCore::HTML5TreeBuilder::takeScriptToProcess):
355          - Acknowledge that the caller has received the script element.
356            It is the caller's responsibility to execute the script if necessary
357            and re-pause the tree builder if necessary.
358         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
359          - Save off the current script tag so that it can be passed to
360            the HTML5ScriptRunner when we're paused.
361         * html/HTML5TreeBuilder.h:
362         (WebCore::HTML5TreeBuilder::setPaused):
363         (WebCore::HTML5TreeBuilder::isPaused):
364
365 2010-05-26  Adam Barth  <abarth@webkit.org>
366
367         Reviewed by Darin Adler.
368
369         Implement SegmentedString::lookAheadSlowCase
370         https://bugs.webkit.org/show_bug.cgi?id=39802
371
372         The slow case is need by the resumer test suite.  Sadly, the resumer
373         test suite is really slow and produces infinite errors (many of which
374         are false positives).  I'll land more of the resumer test suite in a
375         future patch.
376
377         * platform/text/SegmentedString.cpp:
378         (WebCore::SegmentedString::advance):
379         * platform/text/SegmentedString.h:
380         (WebCore::SegmentedString::lookAhead):
381         (WebCore::SegmentedString::lookAheadIgnoringCase):
382         (WebCore::SegmentedString::equalsLiterally):
383         (WebCore::SegmentedString::equalsIgnoringCase):
384         (WebCore::SegmentedString::lookAheadInline):
385         (WebCore::SegmentedString::lookAheadSlowCase):
386
387 2010-05-26  Jer Noble  <jer.noble@apple.com>
388
389         Patch edited by Adele Peterson and Mark Rowe.
390         Reviewed by Eric Carlson
391
392         Video elements show no video on Windows machines that do not support accelerated compositing
393         https://bugs.webkit.org/show_bug.cgi?id=39446
394         rdar://problem/7999794
395         
396         Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
397         tearDownVideoRendering (as opposed to in the destructor.)
398
399         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
400         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
401         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
402         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
403         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
404         return MediaRenderingNone.
405         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
406         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
407         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode, 
408         make sure the visual context has been set up when saying the setup has been done.
409         * platform/graphics/win/QTMovieVisualContext.cpp:
410         (QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
411         Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
412         (QTMovieVisualContext::create): Added.
413         * platform/graphics/win/QTMovieVisualContext.h:
414
415 2010-05-26  Gustavo Noronha Silva  <gns@gnome.org>
416
417         Build fixes for make distcheck.
418
419         * GNUmakefile.am:
420
421 2010-05-26  Zelidrag Hornung  <zelidrag@chromium.org>
422
423         Reviewed by Ojan Vafai.
424
425         Fixed frame page up/down scrolling calculation. Made sure that the
426         cursor moves with page up/down event. Please note that now for mac
427         editing behavior we will scroll the content to center the cursor on
428         page up/down while other platforms will align the cursor with the top of
429         displayed frame.
430         https://bugs.webkit.org/show_bug.cgi?id=38213
431
432         Tests: editing/input/option-page-up-down.html (fixed)
433                editing/input/scroll-viewport-page-up-down.html
434
435         * WebCore.base.exp:
436         * editing/EditorCommand.cpp:
437         (WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
438         (WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
439         (WebCore::executeMovePageDownAndModifySelection): Ditto.
440         (WebCore::executeMovePageUp): Ditto.
441         (WebCore::executeMovePageUpAndModifySelection): Ditto.
442         * editing/SelectionController.cpp:
443         * editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
444         (WebCore::SelectionController::setSelection): Ditto.
445         (WebCore::SelectionController::modify): Ditto.
446         * editing/SelectionController.h: Ditto.
447         (WebCore::SelectionController::): Ditto.
448         (WebCore::SelectionController::setSelection): Ditto.
449
450 2010-05-26  Jaime Yap  <jaimeyap@google.com>
451
452         Reviewed by Pavel Feldman.
453
454         ScriptCallStack::callLocation() sometimes passed an empty handle to
455         toWebCoreString() causing a null pointer deref.
456         https://bugs.webkit.org/show_bug.cgi?id=39681
457
458         * bindings/v8/ScriptCallStack.cpp:
459         (WebCore::ScriptCallStack::callLocation):
460
461 2010-05-26  Brian Weinstein  <bweinstein@apple.com>
462
463         Reviewed by Mark Rowe.
464
465         Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
466         https://bugs.webkit.org/show_bug.cgi?id=39804
467         
468         Initialize the title attribute of the Pause on Exceptions button when we initialize other information
469         about it. 
470
471         * inspector/front-end/ScriptsPanel.js:
472         (WebInspector.ScriptsPanel):
473
474 2010-05-26  Adam Barth  <abarth@webkit.org>
475
476         Unreviewed, rolling out r60262.
477         http://trac.webkit.org/changeset/60262
478         https://bugs.webkit.org/show_bug.cgi?id=39783
479
480         Broke every build and is blocking me from working.  :(
481
482         * rendering/RenderBlock.cpp:
483         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
484         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
485         (WebCore::RenderBlock::moveChildTo):
486         (WebCore::RenderBlock::moveAllChildrenTo):
487         (WebCore::RenderBlock::makeChildrenNonInline):
488         (WebCore::RenderBlock::removeChild):
489         * rendering/RenderBlock.h:
490         * rendering/RenderLayer.cpp:
491         (WebCore::RenderLayer::addChild):
492         * rendering/RenderObjectChildList.cpp:
493         (WebCore::RenderObjectChildList::insertChildNode):
494         * rendering/RenderRubyBase.cpp:
495         (WebCore::RenderRubyBase::moveInlineChildren):
496         (WebCore::RenderRubyBase::moveBlockChildren):
497         (WebCore::RenderRubyBase::mergeBlockChildren):
498
499 2010-05-26  Anders Carlsson  <andersca@apple.com>
500
501         Unreviewed, rolling out r60256.
502         http://trac.webkit.org/changeset/60256
503         https://bugs.webkit.org/show_bug.cgi?id=39382
504
505         Causes fast/dom/prototype-inheritance-2.html to start
506         crashing.
507
508         * history/PageCache.cpp:
509         (WebCore::PageCache::PageCache):
510         (WebCore::PageCache::add):
511         * history/PageCache.h:
512         (WebCore::PageCache::get):
513         * loader/DocumentLoader.cpp:
514         (WebCore::DocumentLoader::commitIfReady):
515         * loader/FrameLoader.cpp:
516         (WebCore::FrameLoader::canCachePageContainingThisFrame):
517         (WebCore::FrameLoader::canCachePage):
518         (WebCore::pageCacheLogPrefix):
519         (WebCore::pageCacheLog):
520         (WebCore::FrameLoader::logCanCachePageDecision):
521         (WebCore::FrameLoader::logCanCacheFrameDecision):
522         (WebCore::FrameLoader::commitProvisionalLoad):
523         (WebCore::FrameLoader::open):
524         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
525         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
526         (WebCore::FrameLoader::cachePageForHistoryItem):
527         (WebCore::FrameLoader::navigateToDifferentDocument):
528         * loader/FrameLoader.h:
529         * svg/graphics/SVGImage.cpp:
530         (WebCore::SVGImage::dataChanged):
531
532 2010-05-26  David Hyatt  <hyatt@apple.com>
533
534         Reviewed by Sam Weinig.
535
536         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
537         
538         Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
539         |to| argument to be a RenderBlock.
540         
541         Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
542         by hand.
543
544         Make the append forms of the functions just use the insert forms with a beforeChild of 0.
545         
546         Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
547         case where it does an append.
548         
549         Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
550         messed up when using append/insertChildNode.
551
552         * rendering/RenderBlock.cpp:
553         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
554         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
555         (WebCore::RenderBlock::createAndAppendRootInlineBox):
556         (WebCore::RenderBlock::moveChildTo):
557         (WebCore::RenderBlock::moveChildrenTo):
558         (WebCore::RenderBlock::makeChildrenNonInline):
559         (WebCore::RenderBlock::removeChild):
560         * rendering/RenderBlock.h:
561         (WebCore::RenderBlock::moveChildTo):
562         (WebCore::RenderBlock::moveAllChildrenTo):
563         (WebCore::RenderBlock::moveChildrenTo):
564         * rendering/RenderLayer.cpp:
565         (WebCore::RenderLayer::addChild):
566         * rendering/RenderObjectChildList.cpp:
567         (WebCore::RenderObjectChildList::insertChildNode):
568         * rendering/RenderRubyBase.cpp:
569         (WebCore::RenderRubyBase::moveInlineChildren):
570
571 2010-05-26  Anders Carlsson  <andersca@apple.com>
572
573         Fix GTK+ test failures.
574
575         * plugins/gtk/PluginDataGtk.cpp:
576         (WebCore::PluginData::initPlugins):
577         * plugins/win/PluginDataWin.cpp:
578         (WebCore::PluginData::initPlugins):
579
580 2010-05-25  Anders Carlsson  <andersca@apple.com>
581
582         Reviewed by Darin Adler.
583
584         Clean up MimeClassInfo and PluginInfo
585         https://bugs.webkit.org/show_bug.cgi?id=39700
586
587         This gets rid of all the heap allocation from MimeClassInfo and PluginInfo. 
588         
589         It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
590         and PluginClassInfo objects.
591
592         * page/Page.cpp:
593         (WebCore::Page::refreshPlugins):
594         * plugins/MimeType.cpp:
595         (WebCore::MimeType::type):
596         (WebCore::MimeType::suffixes):
597         (WebCore::MimeType::description):
598         (WebCore::MimeType::enabledPlugin):
599         * plugins/MimeType.h:
600         (WebCore::MimeType::mimeClassInfo):
601         * plugins/MimeTypeArray.cpp:
602         (WebCore::MimeTypeArray::item):
603         (WebCore::MimeTypeArray::canGetItemsForName):
604         (WebCore::MimeTypeArray::namedItem):
605         * plugins/Plugin.cpp:
606         (WebCore::Plugin::name):
607         (WebCore::Plugin::filename):
608         (WebCore::Plugin::description):
609         (WebCore::Plugin::length):
610         (WebCore::Plugin::item):
611         (WebCore::Plugin::canGetItemsForName):
612         (WebCore::Plugin::namedItem):
613         * plugins/Plugin.h:
614         (WebCore::Plugin::pluginInfo):
615         * plugins/PluginArray.cpp:
616         (WebCore::PluginArray::length):
617         (WebCore::PluginArray::item):
618         (WebCore::PluginArray::canGetItemsForName):
619         (WebCore::PluginArray::namedItem):
620         (WebCore::PluginArray::pluginData):
621         * plugins/PluginArray.h:
622         * plugins/PluginData.cpp:
623         (WebCore::PluginData::PluginData):
624         (WebCore::PluginData::~PluginData):
625         (WebCore::PluginData::supportsMimeType):
626         (WebCore::PluginData::pluginNameForMimeType):
627         * plugins/PluginData.h:
628         (WebCore::operator==):
629         (WebCore::PluginData::create):
630         (WebCore::PluginData::disconnectPage):
631         (WebCore::PluginData::page):
632         (WebCore::PluginData::plugins):
633         (WebCore::PluginData::mimes):
634         * plugins/chromium/PluginDataChromium.cpp:
635         (WebCore::PluginCache::reset):
636         (WebCore::PluginCache::plugins):
637         (WebCore::PluginData::initPlugins):
638         (WebCore::getPluginMimeTypeFromExtension):
639         * plugins/gtk/PluginDataGtk.cpp:
640         (WebCore::PluginData::initPlugins):
641         * plugins/mac/PluginDataMac.mm:
642         (WebCore::PluginData::initPlugins):
643         * plugins/qt/PluginDataQt.cpp:
644         (WebCore::PluginData::initPlugins):
645         * plugins/win/PluginDataWin.cpp:
646         (WebCore::PluginData::initPlugins):
647         * plugins/wx/PluginDataWx.cpp:
648         (WebCore::PluginData::initPlugins):
649
650 2010-05-26  Nate Chapin  <japhet@chromium.org>
651
652         Reviewed by Adam Barth.
653
654         Factor PageCache functionality out of FrameLoader and into
655         PageCache.
656
657         https://bugs.webkit.org/show_bug.cgi?id=39382
658
659         Refactor only, so no new tests.
660
661         * history/PageCache.cpp:
662         (WebCore::pageCacheLogPrefix):
663         (WebCore::pageCacheLog):
664         (WebCore::logCanCacheFrameDecision):
665         (WebCore::logCanCachePageDecision):
666         (WebCore::PageCache::canCachePageContainingThisFrame):
667         (WebCore::PageCache::canCache):
668         (WebCore::PageCache::add):
669         (WebCore::PageCache::get):
670         * history/PageCache.h:
671         * loader/DocumentLoader.cpp:
672         * loader/FrameLoader.cpp:
673         (WebCore::FrameLoader::commitProvisionalLoad):
674         (WebCore::FrameLoader::prepareForCachedPageRestore):
675         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
676         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
677         (WebCore::FrameLoader::navigateToDifferentDocument):
678         * loader/FrameLoader.h:
679         (WebCore::FrameLoader::quickRedirectComing):
680         * svg/graphics/SVGImage.cpp:
681
682 2010-05-26  Peter Kasting  <pkasting@google.com>
683
684         Reviewed by Adam Barth.
685
686         https://bugs.webkit.org/show_bug.cgi?id=39786
687         Properly reset |bytes_to_consume| when reaching the "gif_done" state in
688         the open-source GIF decoder.
689         
690         No tests, since there's no test harness support for checking the
691         internal ImageDecoder state values.
692
693         * platform/image-decoders/gif/GIFImageReader.cpp:
694         (GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file.  Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).
695
696 2010-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
697
698         Unreviewed, rolling out r60251.
699         http://trac.webkit.org/changeset/60251
700         https://bugs.webkit.org/show_bug.cgi?id=39788
701
702         broke tests (Requested by dhyatt on #webkit).
703
704         * rendering/RenderBlock.cpp:
705         (WebCore::RenderBlock::moveChildTo):
706         (WebCore::RenderBlock::moveAllChildrenTo):
707         (WebCore::RenderBlock::makeChildrenNonInline):
708         (WebCore::RenderBlock::removeChild):
709         * rendering/RenderBlock.h:
710         * rendering/RenderRubyBase.cpp:
711         (WebCore::RenderRubyBase::moveInlineChildren):
712         (WebCore::RenderRubyBase::moveBlockChildren):
713         (WebCore::RenderRubyBase::mergeBlockChildren):
714         * rendering/RenderRubyRun.cpp:
715         (WebCore::RenderRubyRun::removeChild):
716
717 2010-05-26  Adam Barth  <abarth@webkit.org>
718
719         Reviewed by Eric Seidel.
720
721         Fix webkit01.dat resumer tests in HTML5 parser
722         https://bugs.webkit.org/show_bug.cgi?id=39796
723
724         To match the old tokenizer, we should only flush character tokens when
725         we reach EOF.  Added a notion of a "closed" segmented string that
726         cannot be appended to, which models EOF.
727
728         * html/HTML5Lexer.cpp:
729         (WebCore::HTML5Lexer::nextToken):
730         (WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
731         * html/HTML5Lexer.h:
732         * html/HTML5Tokenizer.cpp:
733         (WebCore::HTML5Tokenizer::pumpLexer):
734         (WebCore::HTML5Tokenizer::write):
735         (WebCore::HTML5Tokenizer::end):
736         * html/HTML5Tokenizer.h:
737         * platform/text/SegmentedString.cpp:
738         (WebCore::SegmentedString::SegmentedString):
739         (WebCore::SegmentedString::clear):
740         (WebCore::SegmentedString::append):
741         * platform/text/SegmentedString.h:
742         (WebCore::SegmentedString::SegmentedString):
743         (WebCore::SegmentedString::close):
744         (WebCore::SegmentedString::isClosed):
745
746 2010-05-26  Adam Barth  <abarth@webkit.org>
747
748         Reviewed by Eric Seidel.
749
750         Make HTML5 lexer not ASSERT when resuming partial parses
751         https://bugs.webkit.org/show_bug.cgi?id=39755
752
753         I'm working through a variation of the webkit-runner.html test suite
754         that stops the parser at every character to make sure we can resume
755         parsing correctly.  This patch fixes some errors caught by ASSERTs,
756         which prevent the basic tests from running to completion.  There's a
757         bunch more work to do, however.
758
759         Test: html5lib/webkit-resumer.html
760
761         * html/HTML5Lexer.cpp:
762         (WebCore::HTMLNames::isEndTagBufferingState):
763         (WebCore::HTML5Lexer::nextToken):
764         (WebCore::HTML5Lexer::addToPossibleEndTag):
765         * html/HTML5Lexer.h:
766         * html/HTML5Tokenizer.cpp:
767         (WebCore::HTML5Tokenizer::write):
768         * html/HTML5Tokenizer.h:
769
770 2010-05-26  Alexey Proskuryakov  <ap@apple.com>
771
772         Mac 32 bit build fix.
773
774         * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
775         Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.
776
777 2010-05-26  David Hyatt  <hyatt@apple.com>
778
779         Reviewed by Ojan.
780
781         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.
782
783         Cut out the need to pass the to block's child list by tightening up the type of the to object
784         from RenderObject to RenderBlock.
785
786         Implement the "append" versions of the move functions using their "insert" counterparts, since
787         insertChildNode just calls appendChildNode when beforeChild is 0 anyway.
788
789         Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
790         of the move functions have the optional parameter for consistency.
791
792         * rendering/RenderBlock.cpp:
793         (WebCore::RenderBlock::createAndAppendRootInlineBox):
794         (WebCore::RenderBlock::moveChildTo):
795         (WebCore::RenderBlock::moveAllChildrenTo):
796         (WebCore::RenderBlock::makeChildrenNonInline):
797         (WebCore::RenderBlock::removeChild):
798         * rendering/RenderBlock.h:
799         (WebCore::RenderBlock::moveChildTo):
800         (WebCore::RenderBlock::moveAllChildrenTo):
801         * rendering/RenderRubyBase.cpp:
802         (WebCore::RenderRubyBase::moveInlineChildren):
803         (WebCore::RenderRubyBase::moveBlockChildren):
804         (WebCore::RenderRubyBase::mergeBlockChildren):
805         * rendering/RenderRubyRun.cpp:
806         (WebCore::RenderRubyRun::removeChild):
807
808 2010-05-26  Dan Bernstein  <mitz@apple.com>
809
810         Typed and reviewed by Alexey Proskuryakov.
811
812         https://bugs.webkit.org/show_bug.cgi?id=39682
813         <rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random
814
815         Test: fast/css/custom-font-xheight.html
816
817         * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
818         Calling an Objective C method that returns a structure with a null object can leave garbage in
819         returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
820         platformBoundsForGlyph() function instead, which works with CGFont.
821         (WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
822         have an NSFont), since this is now used in more cases.
823
824 2010-05-26  Beth Dakin  <bdakin@apple.com>
825
826         Build fix for Mac clean builds.
827
828         * storage/IDBDatabaseRequest.idl:
829
830 2010-05-26  Eric Carlson  <eric.carlson@apple.com>
831
832         Reviewed by Dan Bernstein.
833
834         Must not cast between CFNumberRef and CFBooleanRef.
835         <rdar://problem/8030739> 
836         https://bugs.webkit.org/show_bug.cgi?id=39756
837
838         * platform/graphics/win/QTMovieVisualContext.cpp:
839         (QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated 
840         with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.
841
842 2010-05-26  Xan Lopez  <xlopez@igalia.com>
843
844         GTK+ build fix, strike two.
845
846         * bindings/gobject/WebKitDOMEventTarget.cpp:
847         (webkit_dom_event_target_get_type):
848         (webkit_dom_event_target_default_init):
849
850 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
851
852         Unreviewed build fix for Windows + clean up the Visual Studio project.
853
854         * WebCore.gypi:
855         * WebCore.vcproj/WebCore.vcproj:
856
857 2010-05-26  Andrei Popescu  <andreip@google.com>
858
859         Reviewed by Jeremy Orlow.
860
861         Indexed Database component is missing IDBObjectStoreRequest interface
862         https://bugs.webkit.org/show_bug.cgi?id=39490
863
864         Adding IDL and stub implementation for IDBObjectStoreRequest.
865
866         No new tests, indexed database isn't yet testable.
867
868         * DerivedSources.cpp:
869         * DerivedSources.make:
870         * GNUmakefile.am:
871         * WebCore.gypi:
872         * WebCore.pri:
873         * WebCore.pro:
874         * WebCore.xcodeproj/project.pbxproj:
875         * bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
876         (WebCore::JSIDBObjectStoreRequest::remove):
877         (WebCore::JSIDBObjectStoreRequest::addOrModify):
878         (WebCore::JSIDBObjectStoreRequest::modify):
879         (WebCore::JSIDBObjectStoreRequest::add):
880         (WebCore::JSIDBObjectStoreRequest::get):
881         * bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
882         (WebCore::V8IDBObjectStoreRequest::removeCallback):
883         (WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
884         (WebCore::V8IDBObjectStoreRequest::modifyCallback):
885         (WebCore::V8IDBObjectStoreRequest::addCallback):
886         (WebCore::V8IDBObjectStoreRequest::getCallback):
887         * storage/IDBObjectStore.cpp: Added.
888         * storage/IDBObjectStore.h: Added.
889         (WebCore::IDBObjectStore::~IDBObjectStore):
890         * storage/IDBObjectStoreRequest.cpp: Added.
891         (WebCore::IDBObjectStoreRequest::name):
892         (WebCore::IDBObjectStoreRequest::keyPath):
893         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
894         * storage/IDBObjectStoreRequest.h: Added.
895         (WebCore::IDBObjectStoreRequest::create):
896         (WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
897         * storage/IDBObjectStoreRequest.idl: Added.
898
899 2010-05-26  Xan Lopez  <xlopez@igalia.com>
900
901         Unreviewed GTK+ build fix.
902
903         Use G_DEFINE_INTERFACE only if it's available.
904
905         * bindings/gobject/WebKitDOMEventTarget.cpp:
906         (webkit_dom_event_target_get_type):
907         (webkit_dom_event_target_default_init):
908
909 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
910
911         Reviewed by Darin Fisher.
912
913         Implement WebDOMStorageList and make WebIDBDatabase use it
914         https://bugs.webkit.org/show_bug.cgi?id=39731
915
916         Remove unused function.
917
918         * dom/DOMStringList.h:
919
920 2010-05-26  Jessie Berlin  <jberlin@webkit.org>
921
922         Reviewed by Pavel Feldman
923
924         Bug 31296 - Web Inspector: Should support console.groupCollapsed
925         https://bugs.webkit.org/show_bug.cgi?id=31296
926
927         * inspector/InspectorController.cpp:
928         (WebCore::InspectorController::startGroup):
929         Set the message type based on whether or not it should be initially collapsed.
930         * inspector/InspectorController.h:
931
932         * inspector/front-end/ConsoleView.js:
933         Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
934         (WebInspector.ConsoleView.prototype.addMessage):
935         (WebInspector.ConsoleMessage.prototype.toMessageElement):
936         (WebInspector.ConsoleMessage.prototype.toString):
937         (WebInspector.ConsoleGroup.prototype.addMessage):
938
939         * page/Console.cpp:
940         (WebCore::Console::groupCollapsed):
941         Create a group and indicate that it should be collapsed.
942         * page/Console.h:
943         Add the StartGroupCollapsed message type.
944
945         (WebCore::):
946         * page/Console.idl:
947         Create the JS bindings for groupCollapsed.
948
949 2010-05-26  yael aharon  <yael.aharon@nokia.com>
950
951         Reviewed by Kent Tamura.
952
953         Support the labels attribute in labelable form controls
954         https://bugs.webkit.org/show_bug.cgi?id=38713
955
956         Added a new cache type in NodeRareData to store the new cache type.
957         This cache is created on demand.
958
959         Added the "labels" attribute to all form controls that support this attribute.
960
961         Tests: fast/forms/labels-add-htmlFor-label.html
962                fast/forms/labels-add-parent-label.html
963                fast/forms/labels-change-htmlFor-attribute.html
964                fast/forms/labels-item-index.html
965                fast/forms/labels-remove-htmlFor-attribute.html
966                fast/forms/labels-remove-htmlFor-label.html
967                fast/forms/labels-remove-parent-label.html
968                fast/forms/labels-set-htmlFor-attribute.html
969
970         * CMakeLists.txt:
971         * GNUmakefile.am:
972         * WebCore.gypi:
973         * WebCore.pro:
974         * WebCore.vcproj/WebCore.vcproj:
975         * WebCore.xcodeproj/project.pbxproj:
976         * dom/Node.cpp:
977         (WebCore::Node::notifyLocalNodeListsLabelChanged):
978         (WebCore::Node::removeCachedLabelsNodeList):
979         (WebCore::NodeListsNodeData::invalidateCaches):
980         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
981         (WebCore::NodeListsNodeData::isEmpty):
982         * dom/Node.h:
983         * dom/NodeRareData.h:
984         (WebCore::NodeListsNodeData::NodeListsNodeData):
985         * html/HTMLButtonElement.idl:
986         * html/HTMLFormControlElement.cpp:
987         (WebCore::HTMLFormControlElement::isLabelable):
988         (WebCore::HTMLFormControlElement::labels):
989         * html/HTMLFormControlElement.h:
990         * html/HTMLInputElement.idl:
991         * html/HTMLLabelElement.cpp:
992         (WebCore::HTMLLabelElement::parseMappedAttribute):
993         * html/HTMLLabelElement.h:
994         * html/HTMLMeterElement.idl:
995         * html/HTMLProgressElement.idl:
996         * html/HTMLSelectElement.idl:
997         * html/HTMLTextAreaElement.idl:
998         * html/LabelsNodeList.cpp: Added.
999         (WebCore::LabelsNodeList::LabelsNodeList):
1000         (WebCore::LabelsNodeList::~LabelsNodeList):
1001         (WebCore::LabelsNodeList::nodeMatches):
1002         * html/LabelsNodeList.h: Added.
1003         (WebCore::LabelsNodeList::create):
1004
1005 2010-05-26  Xan Lopez  <xlopez@igalia.com>
1006
1007         Reviewed by Jeremy Orlow.
1008
1009         Style fix in JSEventCustom.cpp
1010         https://bugs.webkit.org/show_bug.cgi?id=39727
1011
1012         Conditional includes should be all together after the
1013         unconditional includes.
1014
1015         * bindings/js/JSEventCustom.cpp:
1016
1017 2010-05-24  Jeremy Orlow  <jorlow@chromium.org>
1018
1019         Reviewed by Steve Block.
1020
1021         Add IDBDatabase's attributes
1022         https://bugs.webkit.org/show_bug.cgi?id=39602
1023
1024         Add the attributes (like name, description, etc) for
1025         IDBDatabaseRequest.  Plumb that back to the IDBDatabase
1026         object which stores the data.
1027
1028         CMake and Android build changes in another CL (that
1029         fixes other stuff too).
1030
1031         Updated the layout test, but there's some further testing
1032         that needs to be added once the Chromium side of this lands.
1033
1034         * GNUmakefile.am
1035         * WebCore.gypi:
1036         * WebCore.pro
1037         * WebCore.vcproj/WebCore.vcproj
1038         * WebCore.xcodeproj/project.pbxproj
1039         * dom/DOMStringList.h:
1040         (WebCore::DOMStringList::strings):
1041         * storage/IDBDatabase.cpp: Removed.
1042         * storage/IDBDatabase.h:
1043         * storage/IDBDatabaseImpl.cpp: Added.
1044         (WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
1045         (WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
1046         (WebCore::IDBDatabaseImpl::objectStores):
1047         * storage/IDBDatabaseImpl.h: Added.
1048         (WebCore::IDBDatabaseImpl::create):
1049         (WebCore::IDBDatabaseImpl::name):
1050         (WebCore::IDBDatabaseImpl::description):
1051         (WebCore::IDBDatabaseImpl::version):
1052         * storage/IDBDatabaseRequest.h:
1053         (WebCore::IDBDatabaseRequest::name):
1054         (WebCore::IDBDatabaseRequest::description):
1055         (WebCore::IDBDatabaseRequest::version):
1056         (WebCore::IDBDatabaseRequest::objectStores):
1057         * storage/IDBDatabaseRequest.idl:
1058         * storage/IDBSuccessEvent.cpp:
1059         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
1060         * storage/IndexedDatabaseImpl.cpp:
1061         (WebCore::IndexedDatabaseImpl::open):
1062         * storage/IndexedDatabaseImpl.h:
1063
1064 2010-05-26  Xan Lopez  <xlopez@igalia.com>
1065
1066         Reviewed by NOBODY Gustavo Noronha.
1067
1068         [GTK] Add support for DOM events in the GObject DOM bindings
1069         https://bugs.webkit.org/show_bug.cgi?id=38844
1070
1071         Add actual GObject event objects to the DOM event signals.
1072
1073         * GNUmakefile.am:
1074         * bindings/gobject/GObjectEventListener.cpp:
1075         (WebCore::GObjectEventListener::handleEvent):
1076         * bindings/gobject/WebKitDOMBinding.cpp:
1077         (WebKit::wrapEventTarget):
1078         (WebKit::kit):
1079         * bindings/gobject/WebKitDOMBinding.h:
1080         * bindings/gobject/WebKitDOMEventTarget.cpp: Added.
1081         (webkit_dom_event_target_default_init):
1082         (webkit_dom_event_target_dispatch_event):
1083         * bindings/gobject/WebKitDOMEventTarget.h: Added.
1084         * bindings/scripts/CodeGeneratorGObject.pm:
1085
1086 2010-05-24  Jeremy Orlow  <jorlow@chromium.org>
1087
1088         Reviewed by Steve Block.
1089
1090         [Android] Add IndexedDB to the build
1091         https://bugs.webkit.org/show_bug.cgi?id=39593
1092
1093         Add the current list of build files to Android's make files.  From now on,
1094         I'll try to be sure to update these along with the rest.
1095         Also, fix a nit in the gypi file.
1096
1097         No tests..just changing build files.
1098
1099         * Android.derived.jscbindings.mk:
1100         * Android.derived.v8bindings.mk:
1101         * Android.mk:
1102         * WebCore.gypi:
1103
1104 2010-05-26  Alexander Pavlov  <apavlov@chromium.org>
1105
1106         Reviewed by Pavel Feldman.
1107
1108         Expose CSS rule body start/end offsets in the parent stylesheet
1109         https://bugs.webkit.org/show_bug.cgi?id=38906
1110
1111         CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
1112         of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
1113         This Vector is only used when the Web Inspector needs the body ranges, thus there is no
1114         memory overhead until the user starts editing styles via the Web Inspector.
1115         Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.
1116
1117         Test: inspector/styles-source-offsets.html
1118
1119         * css/CSSGrammar.y:
1120         * css/CSSParser.cpp:
1121         (WebCore::CSSParser::CSSParser):
1122         (WebCore::CSSParser::setupParser):
1123         (WebCore::CSSParser::parseSheet):
1124         (WebCore::CSSParser::createStyleRule):
1125         (WebCore::CSSParser::updateLastSelectorLineAndPosition):
1126         (WebCore::CSSParser::markRuleBodyStart):
1127         (WebCore::CSSParser::markRuleBodyEnd):
1128         * css/CSSParser.h:
1129         (WebCore::CSSParser::resetRuleBodyMarks):
1130         * inspector/InspectorCSSStore.cpp:
1131         (WebCore::InspectorCSSStore::InspectorCSSStore):
1132         (WebCore::InspectorCSSStore::reset):
1133         (WebCore::InspectorCSSStore::removeDocument):
1134         (WebCore::InspectorCSSStore::inspectorStyleSheet):
1135         (WebCore::InspectorCSSStore::getStartEndOffsets):
1136         (WebCore::InspectorCSSStore::getIndexInStyleRules):
1137         (WebCore::InspectorCSSStore::disabledStyleForId):
1138         (WebCore::InspectorCSSStore::styleForId):
1139         (WebCore::InspectorCSSStore::ruleForId):
1140         (WebCore::InspectorCSSStore::bindStyle):
1141         (WebCore::InspectorCSSStore::bindStyleSheet):
1142         (WebCore::InspectorCSSStore::bindRule):
1143         * inspector/InspectorCSSStore.h:
1144         * inspector/InspectorController.cpp:
1145         (WebCore::InspectorController::InspectorController):
1146         (WebCore::InspectorController::resourceForURL):
1147         * inspector/InspectorController.h:
1148         (WebCore::InspectorController::inspectorFrontend):
1149         * inspector/InspectorDOMAgent.cpp:
1150         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1151         (WebCore::InspectorDOMAgent::unbind):
1152         (WebCore::InspectorDOMAgent::getStyles):
1153         (WebCore::InspectorDOMAgent::getAllStyles):
1154         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
1155         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
1156         (WebCore::InspectorDOMAgent::applyStyleText):
1157         (WebCore::InspectorDOMAgent::setStyleText):
1158         (WebCore::InspectorDOMAgent::setStyleProperty):
1159         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
1160         (WebCore::InspectorDOMAgent::setRuleSelector):
1161         (WebCore::InspectorDOMAgent::addRule):
1162         (WebCore::InspectorDOMAgent::buildObjectForStyle):
1163         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
1164         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
1165         (WebCore::InspectorDOMAgent::buildObjectForRule):
1166         * inspector/InspectorDOMAgent.h:
1167         * inspector/front-end/DOMAgent.js:
1168         (WebInspector.CSSStyleDeclaration):
1169
1170 2010-05-26  Xan Lopez  <xlopez@igalia.com>
1171
1172         Reviewed by Gustavo Noronha.
1173
1174         [GTK] Add support for DOM events in the GObject DOM bindings
1175         https://bugs.webkit.org/show_bug.cgi?id=38844
1176
1177         Use GObject-like names for the DOM event signals. Basically go
1178         from 'mousewheel' to 'mouse-wheel-event'.
1179
1180         * bindings/scripts/CodeGeneratorGObject.pm:
1181
1182 2010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1183
1184         Not reviewed. Sort Xcode project file.
1185
1186         * WebCore.xcodeproj/project.pbxproj:
1187
1188 2010-05-26  Xan Lopez  <xlopez@igalia.com>
1189
1190         Reviewed by Gustavo Noronha.
1191
1192         [GTK] Add support for DOM events in the GObject DOM bindings
1193         https://bugs.webkit.org/show_bug.cgi?id=38844
1194
1195         First step towards DOM events support. We create one signal per
1196         event supported in the DOM classes, and create a custom
1197         GObjectEventListener that will emit a GObject signal when an event
1198         is dispatched to the object. There is no event object at the
1199         moment (we just pass NULL), and no support for hooking into the
1200         capture phase.
1201
1202         * GNUmakefile.am:
1203         * bindings/gobject/GObjectEventListener.cpp: Added.
1204         (WebCore::GObjectEventListener::handleEvent):
1205         (WebCore::GObjectEventListener::operator==):
1206         * bindings/gobject/GObjectEventListener.h: Added.
1207         (WebCore::GObjectEventListener::create):
1208         (WebCore::GObjectEventListener::cast):
1209         (WebCore::GObjectEventListener::GObjectEventListener):
1210         * bindings/scripts/CodeGeneratorGObject.pm:
1211         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1212         (WebKit::core):
1213         (webkit_dom_test_callback_finalize):
1214         (webkit_dom_test_callback_class_init):
1215         (WebKit::wrapTestCallback):
1216         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1217         (WebKit::core):
1218         (webkit_dom_test_interface_finalize):
1219         (webkit_dom_test_interface_class_init):
1220         (WebKit::wrapTestInterface):
1221         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1222         (WebKit::core):
1223         (webkit_dom_test_obj_finalize):
1224         (webkit_dom_test_obj_class_init):
1225         (WebKit::wrapTestObj):
1226         * dom/EventListener.h:
1227         (WebCore::EventListener::):
1228
1229 2010-05-26  Xan Lopez  <xlopez@igalia.com>
1230
1231         Reviewed by Gustavo Noronha.
1232
1233         [GTK] GObject DOM bindings
1234         https://bugs.webkit.org/show_bug.cgi?id=33590
1235
1236         We need to protect the body of some methods with #ifdefs, since
1237         the availability of the code they call into is decided at compile
1238         time.
1239
1240         * bindings/scripts/CodeGeneratorGObject.pm:
1241
1242 2010-05-26  Kent Tamura  <tkent@chromium.org>
1243
1244         Reviewed by Shinichiro Hamaji.
1245
1246         Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
1247         https://bugs.webkit.org/show_bug.cgi?id=39423
1248
1249         The minimum and maximum values for date, datetime, datetime-local,
1250         month, time, and week types depend on the implementation of
1251         DateComponents.  So move them to DateComponents.
1252
1253         * html/DateComponents.h:
1254         * html/HTMLInputElement.cpp:
1255         (WebCore::HTMLInputElement::minimum):
1256         (WebCore::HTMLInputElement::maximum):
1257
1258 2010-05-26  Csaba Osztrogon√°c  <ossy@webkit.org>
1259
1260         Reviewed by Simon Hausmann.
1261
1262         Buildfix for build without ENABLE(RUBY) after r60201.
1263
1264         * rendering/RenderBlock.cpp:
1265         (WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.
1266
1267 2010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1268
1269         Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.
1270
1271         * bindings/scripts/test/JS/JSTestInterface.cpp:
1272         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
1273         (WebCore::JSTestInterface::createPrototype):
1274         * bindings/scripts/test/JS/JSTestInterface.h:
1275         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
1276         * bindings/scripts/test/JS/JSTestObj.cpp:
1277         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
1278         (WebCore::JSTestObj::createPrototype):
1279         * bindings/scripts/test/JS/JSTestObj.h:
1280         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
1281
1282 2010-05-25  Philippe Normand  <pnormand@igalia.com>
1283
1284         Reviewed by Gustavo Noronha Silva.
1285
1286         [GStreamer] Apple trailers not playing
1287         https://bugs.webkit.org/show_bug.cgi?id=37390
1288
1289         Set the AppleTrailer User-Agent workaround after
1290         FrameLoader::addExtraFieldsToSubresourceRequest has been called
1291         because that method sets the global User-Agent.
1292
1293         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1294         (webKitWebSrcStart):
1295
1296 2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>
1297
1298         Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.
1299
1300         * storage/DatabaseAuthorizer.cpp:
1301         (WebCore::DatabaseAuthorizer::dropVTable):
1302
1303 2010-05-25  Mark Rowe  <mrowe@apple.com>
1304
1305         Build fix.
1306
1307         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1308
1309 2010-05-25  Yuta Kitamura  <yutak@chromium.org>
1310
1311         Reviewed by Pavel Feldman.
1312
1313         Web Inspector: Show HTTP status message sent from server in Resources tab.
1314
1315         This patch obtains an HTTP status message of each resource and pass it to
1316         the front end of Web Inspector. The status message is shown in "Headers" tab in
1317         the detail view of that resource, along with the HTTP status code.
1318
1319         Web Inspector does not respect HTTP status message
1320         https://bugs.webkit.org/show_bug.cgi?id=39595
1321
1322         * inspector/InspectorResource.cpp:
1323         (WebCore::InspectorResource::updateResponse):
1324         (WebCore::InspectorResource::updateScriptObject):
1325         * inspector/InspectorResource.h:
1326         * inspector/front-end/Resource.js:
1327         (WebInspector.Resource.CompareByTransferSize):
1328         * inspector/front-end/ResourceView.js:
1329         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
1330         * inspector/front-end/inspector.js:
1331         (WebInspector.updateResource):
1332         * inspector/front-end/utilities.js:
1333         (String.prototype.escapeHTML): Escape '"' so that we can escape messages
1334         that may occur inside HTML attributes.
1335
1336 2010-05-24  David Hyatt  <hyatt@apple.com>
1337
1338         Reviewed by Dan Bernstein.
1339
1340         https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.
1341
1342         This patch adds support for -webkit-column-span elements that can span across all of the columns
1343         in a multi-column block.  In this first stage, column span support is limited to only immediate
1344         children of the multi-column block, so no elements actually have to split across a span yet.
1345
1346         Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
1347         span blocks.  When a span gets inserted into a multicol block, the block is split, with the
1348         column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
1349         wrapped in anonymous column span blocks.  The multicol block then stops being multicol and lets
1350         the anonymous multicol blocks take over column layout.
1351         
1352         Many new tests added in fast/multicol/span.
1353
1354         * dom/Node.cpp:
1355         (WebCore::Node::diff):
1356         Changes to column span result in a detach/attach, since spanning elements don't typically have
1357         much content.
1358     
1359         * rendering/RenderBlock.cpp:
1360         (WebCore::RenderBlock::styleDidChange):
1361         Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.
1362
1363         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
1364         This method handles the insertion of new children into the block after it has had to wrap its
1365         children in anonymous column/column-span blocks.
1366         
1367         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
1368         A helper method for splitting all anonymous blocks between beforeChild and this block so that
1369         a new element with an incompatible type can be inserted between them.
1370         
1371         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
1372         This method does the initial split of a block into anonymous components.  This happens the first
1373         time a column-span element gets inserted into the block.
1374
1375         (WebCore::columnsBlockForSpanningElement):
1376         This function checks whether or not the column-span element is actually being inserted into a viable
1377         columns block.
1378
1379         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1380         This is the original RenderBlock::addChild.  It handles everything else just like it used to.
1381         
1382         (WebCore::RenderBlock::addChild):
1383         Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
1384         in anonymous column/column-span blocks already.
1385
1386         (WebCore::RenderBlock::moveAllChildrenTo):
1387         moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
1388         are shifting across layers.  (This should arguably be the default behavior, but that can happen in
1389         a future patch.)
1390
1391         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
1392         Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
1393         block from being coalesced with a parent if they are non-empty.
1394
1395         (WebCore::canMergeContiguousAnonymousBlocks):
1396         Whether or not two contiguous anonymous blocks can merge after the removal of a child.
1397
1398         (WebCore::RenderBlock::removeChild):
1399         removeChild has been patched to handle more cases of merging/deletion than it did before.  It
1400         can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
1401         that don't share the same childrenInline() setting (by putting one inside the other).  It also
1402         makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
1403         
1404         (WebCore::RenderBlock::fillSelectionGaps):
1405         Don't let the selection extend outside of a column-span.
1406         
1407         (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
1408         Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
1409         column/column-span blocks.
1410
1411         (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
1412         (WebCore::RenderBlock::createAnonymousColumnsBlock):
1413         (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
1414         New helper functions for anonymous block creation.
1415         
1416         (WebCore::RenderBlock::renderName):
1417         Patched to dump anonymous column and column-span blocks so that they can be distinguished from
1418         regular anonymous blocks.
1419         * rendering/RenderBlock.h:
1420         * rendering/RenderObject.h:
1421         (WebCore::RenderObject::isAnonymousColumnsBlock):
1422         (WebCore::RenderObject::isAnonymousColumnSpanBlock):
1423         New helper functions for asking the type of an anonymous block.
1424         
1425         * rendering/style/RenderStyle.h:
1426         (WebCore::InheritedFlags::inheritColumnPropertiesFrom):
1427         A helper function to allow anonymous column blocks to easily inherit all column properties for
1428         rendering.
1429
1430 2010-05-25  Dirk Pranke  <dpranke@chromium.org>
1431
1432         Reviewed by Dimitri Glazkov.
1433
1434         Re-commit r58765 - it had been rolled out to see if it was causing
1435         a perf regression (in r59787), but that does not seem to have been
1436         the case.
1437
1438         Tests: fast/notifications/notifications-replace.html
1439                fast/notifications/notifications-rtl.html
1440
1441         https://bugs.webkit.org/show_bug.cgi?id=39605
1442
1443         * notifications/Notification.h:
1444         (WebCore::Notification::dir):
1445         (WebCore::Notification::setDir):
1446         (WebCore::Notification::replaceId):
1447         (WebCore::Notification::setReplaceId):
1448         * notifications/Notification.idl:
1449
1450 2010-05-22  Jer Noble  <jer.noble@apple.com>
1451
1452         Reviewed by Adam Roben.
1453
1454         Full screen doesn't work for video elements
1455         https://bugs.webkit.org/show_bug.cgi?id=39557
1456         rdar://problem/8011813
1457         
1458         Add fullscreen support for MediaPlayerPrivateVisualContext.  A new class, MediaPlayerPrivateFullscreenWindow,
1459         provides the fullscreen hwnd and layer renderer.  Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
1460         so future additional MediaPlayerPrivate implementations can use the fullscreen window.
1461         
1462         Minor additions have been made to the FloatSize and IntSize classes.
1463
1464         MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new 
1465         videoLayer; this is an existing bug that was never really exposed before now.
1466
1467         * WebCore.vcproj/WebCore.vcproj:
1468         * platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
1469         (WebCore::FloatSize::aspectRatio):
1470         (WebCore::FloatSize::scale):
1471         * platform/graphics/IntSize.h: Added aspectRatio().
1472         (WebCore::IntSize::aspectRatio):
1473         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
1474         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
1475         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
1476         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
1477         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
1478         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
1479         * platform/graphics/win/WKCACFLayer.cpp: 
1480         (WebCore::WKCACFLayer::WKCACFLayer):
1481         (WebCore::WKCACFLayer::removeFromSuperlayer):
1482         (WebCore::WKCACFLayer::setFrame):
1483         (WebCore::WKCACFLayer::internalSetNeedsDisplay):
1484         (WebCore::WKCACFLayer::setLayoutClient):
1485         (WebCore::WKCACFLayer::layoutSublayersProc):
1486         (WebCore::WKCACFLayer::layoutClient):
1487         (WebCore::WKCACFLayer::setNeedsLayout):
1488         * platform/graphics/win/WKCACFLayer.h: Add layout client class.
1489         (WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
1490         (WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
1491         * platform/graphics/win/WebTiledLayer.cpp:
1492         (WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
1493         * platform/graphics/win/WebTiledLayer.h:
1494         * platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
1495         (WebCore::WebTiledLayer::setFrame):
1496         * platform/graphics/win/WebTiledLayer.h:
1497
1498
1499 2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>
1500
1501         Reviewed by Brady Eidson.
1502
1503         Allow FTS3 functions.
1504         https://bugs.webkit.org/show_bug.cgi?id=38003
1505
1506         * storage/DatabaseAuthorizer.cpp:
1507         (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
1508         (WebCore::DatabaseAuthorizer::createVTable):
1509
1510 2010-05-25  Anders Carlsson  <andersca@apple.com>
1511
1512         Reviewed by Sam Weinig.
1513
1514         Get rid of PluginDatabaseClient
1515         https://bugs.webkit.org/show_bug.cgi?id=39685
1516
1517         PluginDatabaseClient isn't used anywhere so just remove it.
1518
1519         * GNUmakefile.am:
1520         * plugins/PluginDatabase.cpp:
1521         (WebCore::PluginDatabase::PluginDatabase):
1522         (WebCore::PluginDatabase::refresh):
1523         * plugins/PluginDatabase.h:
1524         * plugins/PluginDatabaseClient.h: Removed.
1525
1526 2010-05-25  Alexey Proskuryakov  <ap@apple.com>
1527
1528         Reviewed by Darin Adler.
1529
1530         https://bugs.webkit.org/show_bug.cgi?id=18595
1531         REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze
1532
1533         Test: fast/events/frame-detached-in-mousedown.html
1534
1535         * page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
1536         node on mouse up. It's only done for nodes that hold subframes - elements that capture events
1537         are responsible for resetting the state.
1538
1539         * page/EventHandler.cpp:
1540         (WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
1541         RefPtr and is initialized automatically.
1542         (WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
1543         capturing node on its own.
1544         (WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
1545         from the below in r21156. Copied correct code instead.
1546         (WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
1547         holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
1548         check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
1549         (WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
1550         reset capturing node on its own.
1551
1552 2010-05-25  Kevin Ollivier  <kevino@theolliviers.com>
1553
1554         [wx] Build fix for missing symbol.
1555
1556         * wscript:
1557
1558 2010-05-25  Darin Adler  <darin@apple.com>
1559
1560         * dom/Element.cpp:
1561         (WebCore::Element::getIDAttribute): Added comments about problems with this function.
1562
1563 2010-05-25  Leandro Pereira  <leandro@profusion.mobi>
1564
1565         Reviewed by Gustavo Noronha Silva.
1566
1567         [EFL] Build fix.
1568         http://webkit.org/b/39598
1569
1570         * CMakeLists.txt:
1571
1572 2010-05-25  Enrica Casucci  <enrica@apple.com>
1573
1574         Reviewed by Darin Adler.
1575
1576         REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
1577         https://bugs.webkit.org/show_bug.cgi?id=36037
1578         <rdar://problem/8022887>
1579
1580         The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
1581         additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
1582         that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
1583         cases would iterate through every position as offset in a block before moving to the last child in the block.
1584         This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
1585         every position in the block before considering the last true position in the block.
1586         The performance was linear with the number of child nodes in the block, instead of constant.
1587         
1588         * dom/PositionIterator.cpp:
1589         (WebCore::PositionIterator::decrement):
1590
1591 2010-05-25  Alexey Proskuryakov  <ap@apple.com>
1592
1593         Reviewed by Darin Adler.
1594
1595         https://bugs.webkit.org/show_bug.cgi?id=39621
1596         <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
1597
1598         The largest cause of memory growth on this test were autoreleased DOMNode objects created
1599         to make webView:formStateDidChangeForNode: delegate calls.
1600
1601         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
1602         Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
1603         safe to call functions that are likely to create temporary wrappers (wrapper destructor
1604         would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).
1605
1606 2010-05-25  Kent Tamura  <tkent@chromium.org>
1607
1608         Reviewed by Dimitri Glazkov.
1609
1610         [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
1611         https://bugs.webkit.org/show_bug.cgi?id=39652
1612
1613         * rendering/RenderTheme.cpp:
1614         (WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.
1615
1616 2010-05-25  Darin Adler  <darin@apple.com>
1617
1618         Sort ".exp" files with the sort tool.
1619         This makes later merging easier.
1620
1621         These Mac-specific files should probably move into a subdirectory
1622         at some point.
1623
1624         * WebCore.Inspector.exp: Sorted.
1625         * WebCore.PluginHostProcess.exp: Removed blank line.
1626         * WebCore.VideoProxy.exp: Sorted.
1627         * WebCore.base.exp: Ditto.
1628
1629 2010-05-25  Vangelis Kokkevis  <vangelis@chromium.org>
1630
1631         Reviewed by Darin Fisher.
1632
1633         Removing the persistent GraphicsContext from LayerChromium to save on
1634         memory and simplify code. Layers now create a temporary context, draw into
1635         it, update the GL texture and discard the context.
1636         https://bugs.webkit.org/show_bug.cgi?id=39640
1637
1638         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1639         (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
1640         * platform/graphics/chromium/LayerChromium.cpp:
1641         (WebCore::LayerChromium::LayerChromium):
1642         (WebCore::LayerChromium::~LayerChromium):
1643         (WebCore::LayerChromium::setLayerRenderer):
1644         (WebCore::LayerChromium::updateTextureContents):
1645         (WebCore::LayerChromium::setContents):
1646         (WebCore::LayerChromium::setBounds):
1647         (WebCore::LayerChromium::setNeedsDisplay):
1648         * platform/graphics/chromium/LayerChromium.h:
1649         * platform/graphics/chromium/LayerRendererChromium.cpp:
1650         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1651         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
1652         (WebCore::LayerRendererChromium::drawLayers):
1653         (WebCore::LayerRendererChromium::assignTextureForLayer):
1654         (WebCore::LayerRendererChromium::compositeLayersRecursive):
1655         * platform/graphics/chromium/LayerRendererChromium.h:
1656         (WebCore::LayerRendererChromium::rootLayerGraphicsContext):
1657
1658 2010-05-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1659
1660         Reviewed by Simon Hausmann.
1661
1662         [Qt] Make text filling work together with text stroke.
1663
1664         When the text has stroke a new QPen was set, overriding the pen
1665         set for text filling. This patch fixes that by storing the two
1666         pens and using where appropriate.
1667
1668         * platform/graphics/qt/FontQt.cpp:
1669         (WebCore::Font::drawComplexText):
1670
1671 2010-05-17  Antonio Gomes  <tonikitoo@webkit.org>
1672
1673         Reviewed by Darin Adler.
1674
1675         Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
1676         https://bugs.webkit.org/show_bug.cgi?id=39217
1677
1678         It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
1679         could receive a parameter to specify where to start scrolling from. Currently they
1680         start scrolling from either the current focused node or the node where mouse last
1681         pressed on. Patch proposes an aditional starting point as an optional parameter.
1682         Since it is optional, all call sites can remain as are, and if a Null node is passed
1683         in, both methods work as previously.
1684
1685         * page/EventHandler.cpp:
1686         (WebCore::EventHandler::scrollOverflow):
1687         (WebCore::EventHandler::scrollRecursively):
1688         * page/EventHandler.h:
1689
1690 2010-05-25  Yury Semikhatsky  <yurys@chromium.org>
1691
1692         Reviewed by Timothy Hatcher.
1693
1694         Web Inspector: localize heap graph strings.
1695
1696         https://bugs.webkit.org/show_bug.cgi?id=39674
1697
1698         * English.lproj/localizedStrings.js:
1699
1700 2010-05-25  Adam Barth  <abarth@webkit.org>
1701
1702         Reviewed by Eric Seidel.
1703
1704         Switch HTML parsing benchmark to use document.write instead of innerHTML
1705         https://bugs.webkit.org/show_bug.cgi?id=39661
1706
1707         We'd like to exercise the main parsing pipeline instead of the fragment
1708         parsing pipeline.
1709
1710         * benchmarks/parser/html-parser.html:
1711
1712 2010-05-25  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1713
1714         Reviewed by Laszlo Gombos.
1715
1716         [Qt] Running with accelerated compositing enabled sometimes result in a crash
1717         https://bugs.webkit.org/show_bug.cgi?id=39609
1718
1719         Check if we have a scene before applying the workaround for
1720         the QGraphicsScene bug where opacity change doesn't always have
1721         immediate effect.
1722
1723         * platform/graphics/qt/GraphicsLayerQt.cpp:
1724         (WebCore::OpacityAnimationQt::applyFrame):
1725
1726 2010-05-25  Yury Semikhatsky  <yurys@chromium.org>
1727
1728         Unreviewed. Fix Chromium Mac Release build.
1729
1730         * bindings/v8/ScriptDebugServer.cpp:
1731
1732 2010-05-24  Yury Semikhatsky  <yurys@chromium.org>
1733
1734         Reviewed by Pavel Feldman.
1735
1736         ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
1737         depend on v8 debugging protocol, instead it uses ExecState to collect debugging
1738         info and pass it to the listeners.
1739
1740         New implementation of ScriptDebugServer uses methods provided by client to dispatch
1741         its messages while JS is paused(previously the messages was dispatched in a callback
1742         passed to v8 along with DebugEventHandler).
1743
1744         https://bugs.webkit.org/show_bug.cgi?id=39594
1745
1746         * bindings/js/ScriptDebugServer.cpp:
1747         (WebCore::ScriptDebugServer::dispatchDidPause):
1748         (WebCore::ScriptDebugServer::dispatchDidContinue):
1749         (WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
1750         invocation of ScriptDebugListener methods that have non-empty argument list.
1751         (WebCore::ScriptDebugServer::pauseIfNeeded):
1752         * bindings/js/ScriptDebugServer.h:
1753         * bindings/v8/ScriptDebugServer.cpp:
1754         (WebCore::retrieveFrame):
1755         (WebCore::ScriptDebugServer::ScriptDebugServer):
1756         (WebCore::ScriptDebugServer::addListener):
1757         (WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
1758         corresponding debugger window closes.
1759         (WebCore::ScriptDebugServer::clearBreakpoints):
1760         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
1761         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
1762         (WebCore::ScriptDebugServer::continueProgram):
1763         (WebCore::ScriptDebugServer::stepIntoStatement):
1764         (WebCore::ScriptDebugServer::stepOverStatement):
1765         (WebCore::ScriptDebugServer::stepOutOfFunction):
1766         (WebCore::ScriptDebugServer::v8DebugEventCallback):
1767         (WebCore::ScriptDebugServer::handleV8DebugEvent):
1768         (WebCore::ScriptDebugServer::didResume):
1769         * bindings/v8/ScriptDebugServer.h:
1770         (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
1771         (WebCore::ScriptDebugServer::setClientMessageLoop):
1772         * inspector/InspectorController.cpp:
1773         (WebCore::InspectorController::didPause):
1774         * inspector/InspectorController.h:
1775         * inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
1776         where execution is paused.
1777
1778 2010-05-25  Adam Barth  <abarth@webkit.org>
1779
1780         Reviewed by Eric Seidel.
1781
1782         Clear attributes for each tag in the HTML5 parser
1783         https://bugs.webkit.org/show_bug.cgi?id=39660
1784
1785         Yes, I did screw this up.
1786
1787         * html/HTML5Token.h:
1788         (WebCore::HTML5Token::beginStartTag):
1789         (WebCore::HTML5Token::beginEndTag):
1790
1791 2010-05-25  Anders Bakken  <agbakken@gmail.com>
1792
1793         Reviewed by Darin Adler.
1794
1795         Remove warning for GCC 4.4.3
1796
1797         GCC suggest parentheses around && within ||
1798
1799         * dom/Element.cpp:
1800         (WebCore::Element::recalcStyle):
1801
1802 2010-05-25  Xan Lopez  <xlopez@igalia.com>
1803
1804         Fix the GTK+ build, PluginInfoStore was removed.
1805
1806         * GNUmakefile.am:
1807
1808 2010-05-25  Ada Chan  <adachan@apple.com>
1809
1810         Reviewed by Steve Falkenburg.
1811
1812         Add a base class for DOMTimer called SuspendableTimer which captures just the
1813         basic functionality of TimerBase and ActiveDOMObject combined.  It does not
1814         contain functionality specific to scripting timers.
1815         
1816         SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651
1817
1818         * Android.mk:
1819         * CMakeLists.txt:
1820         * GNUmakefile.am:
1821         * WebCore.gypi:
1822         * WebCore.pro:
1823         * WebCore.vcproj/WebCore.vcproj:
1824         * WebCore.xcodeproj/project.pbxproj:
1825         * page/DOMTimer.cpp:
1826         (WebCore::DOMTimer::DOMTimer):
1827         (WebCore::DOMTimer::contextDestroyed):
1828         (WebCore::DOMTimer::stop):
1829         * page/DOMTimer.h:
1830         * page/SuspendableTimer.cpp: Added.
1831         (WebCore::SuspendableTimer::SuspendableTimer):
1832         (WebCore::SuspendableTimer::~SuspendableTimer):
1833         (WebCore::SuspendableTimer::hasPendingActivity):
1834         (WebCore::SuspendableTimer::stop):
1835         (WebCore::SuspendableTimer::suspend):
1836         (WebCore::SuspendableTimer::resume):
1837         (WebCore::SuspendableTimer::canSuspend):
1838         * page/SuspendableTimer.h: Added.
1839
1840 2010-05-25  Justin Schuh  <jschuh@chromium.org>
1841
1842         Reviewed by Nate Chapin.
1843
1844         Remove custom bindings for Element.SetAttribute*
1845         https://bugs.webkit.org/show_bug.cgi?id=39604
1846
1847         Custom bindings are no longer needed because origin checks were moved
1848         out of the bindings by: http://trac.webkit.org/changeset/59866
1849
1850         Behavior isn't changed and is covered by existing tests.
1851
1852         * bindings/js/JSElementCustom.cpp:
1853         * bindings/v8/custom/V8ElementCustom.cpp:
1854         * dom/Element.idl:
1855
1856 2010-05-25  Yury Semikhatsky  <yurys@chromium.org>
1857
1858         Reviewed by Pavel Feldman.
1859
1860         Add memory graph to Timeline overview pane.
1861
1862         https://bugs.webkit.org/show_bug.cgi?id=37879
1863
1864         * inspector/front-end/Drawer.js:
1865         (WebInspector.Drawer):
1866         (WebInspector.Drawer.prototype.show.animationFinished):
1867         (WebInspector.Drawer.prototype.show):
1868         (WebInspector.Drawer.prototype.hide):
1869         (WebInspector.Drawer.prototype.set currentPanelCounters):
1870         * inspector/front-end/Panel.js:
1871         * inspector/front-end/TimelineOverviewPane.js:
1872         (WebInspector.TimelineOverviewPane):
1873         (WebInspector.TimelineOverviewPane.prototype.showTimelines):
1874         (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
1875         (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
1876         (WebInspector.TimelineOverviewPane.prototype.update):
1877         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
1878         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
1879         (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
1880         (WebInspector.HeapGraph):
1881         (WebInspector.HeapGraph.prototype.get element):
1882         (WebInspector.HeapGraph.prototype.get visible):
1883         (WebInspector.HeapGraph.prototype.show):
1884         (WebInspector.HeapGraph.prototype.hide):
1885         (WebInspector.HeapGraph.prototype.setSize):
1886         (WebInspector.HeapGraph.prototype.update):
1887         (WebInspector.HeapGraph.prototype._clear):
1888         (WebInspector.HeapGraph.prototype._drawScale):
1889         * inspector/front-end/TimelinePanel.js:
1890         (WebInspector.TimelinePanel):
1891         (WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
1892         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1893         (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
1894         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
1895         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
1896         (WebInspector.TimelinePanel.prototype.show):
1897         (WebInspector.TimelinePanel.prototype.hide):
1898         * inspector/front-end/inspector.css:
1899         (#counters):
1900         (#timeline-overview-sidebar):
1901         (.timeline-category-statusbar-item):
1902         (.timeline-category-statusbar-item .timeline-category-checkbox):
1903         (.timeline-category-statusbar-item .timeline-category-checkbox:checked):
1904         (.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
1905         (.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
1906         (.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
1907         (#timeline-overview-memory):
1908         (.timeline-records-counter):
1909         (#main-status-bar > .timeline-records-counter):
1910         (#counters > .timeline-records-counter):
1911         * inspector/front-end/inspector.html:
1912         * inspector/front-end/utilities.js:
1913         ():
1914
1915 2010-05-25  Adam Barth  <abarth@webkit.org>
1916
1917         Unreviewed.  Fix typo pointed out by Maciej.
1918
1919         * html/HTML5Lexer.cpp:
1920         (WebCore::HTMLNames::unconsumeCharacters):
1921         (WebCore::HTML5Lexer::consumeEntity):
1922
1923 2010-05-25  Adam Barth  <abarth@webkit.org>
1924
1925         Reviewed by Eric Seidel.
1926
1927         Fix <noembed> and <plaintext> content models
1928         https://bugs.webkit.org/show_bug.cgi?id=39653
1929
1930         PLAINTEXTState is my favorite lexer state.  :)
1931
1932         * html/HTML5TreeBuilder.cpp:
1933         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
1934
1935 2010-05-24  Adam Barth  <abarth@webkit.org>
1936
1937         Reviewed by Eric Seidel.
1938
1939         First cut at HTML5 entities
1940         https://bugs.webkit.org/show_bug.cgi?id=39649
1941
1942         There's still a bunch more work to do to get our entity parsing fully
1943         up to spec.  This patch contains the bulk of the implementation
1944         however.
1945         
1946         The basics are covered by the existing html5lib tests.  I'll add more
1947         detailed tests in a followup patch.
1948
1949         * html/HTML5Lexer.cpp:
1950         (WebCore::HTMLNames::legalEntityFor):
1951         (WebCore::HTMLNames::isHexDigit):
1952         (WebCore::HTMLNames::isAlphaNumeric):
1953         (WebCore::HTMLNames::uncomsumeCharacters):
1954         (WebCore::HTML5Lexer::consumeEntity):
1955         (WebCore::HTML5Lexer::nextToken):
1956         (WebCore::HTML5Lexer::haveBufferedCharacterToken):
1957         * html/HTML5Lexer.h:
1958         (WebCore::HTML5Lexer::):
1959         * html/HTML5Tokenizer.cpp:
1960         (WebCore::HTML5Tokenizer::write):
1961
1962 2010-05-24  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
1963
1964         Reviewed by Kenneth Rohde Christiansen.
1965
1966         [Qt] Fix compilation with QT_NO_TEMPORARYFILE
1967         https://bugs.webkit.org/show_bug.cgi?id=38324
1968
1969         * platform/qt/FileSystemQt.cpp:
1970         (WebCore::openTemporaryFile):
1971
1972 2010-05-24  Andrey Kosyakov  <caseq@chromium.org>
1973
1974         Reviewed by Yury Semikhatsky.
1975
1976         Fixed handling of bare '/' and '?' at console prompt.
1977         https://bugs.webkit.org/show_bug.cgi?id=39585
1978
1979         * inspector/front-end/inspector.js:
1980         (WebInspector.documentKeyDown):
1981
1982 2010-05-24  Andreas Kling  <andreas.kling@nokia.com>
1983
1984         Reviewed by Sam Weinig.
1985
1986         The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.
1987
1988         Spec link:
1989         http://www.w3.org/TR/WebIDL/#interface-object
1990
1991         https://bugs.webkit.org/show_bug.cgi?id=39436
1992
1993         Test: fast/dom/prototype-property.html
1994
1995         * bindings/scripts/CodeGeneratorJS.pm:
1996
1997 2010-05-24  Eric Seidel  <eric@webkit.org>
1998
1999         Reviewed by Adam Barth.
2000
2001         Add RCDATA and RAWTEXT suport to the HTML5 parser
2002         https://bugs.webkit.org/show_bug.cgi?id=39642
2003
2004         Adam Barth wrote half of this patch.
2005
2006         * html/HTML5TreeBuilder.cpp:
2007         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2008
2009 2010-05-24  Tony Chang  <tony@chromium.org>
2010
2011         Not reviewed, build fix.
2012
2013         Fix the chromium compile due to pageZoomFactor refactoring.
2014
2015         * page/EventHandler.cpp:
2016         (WebCore::pageZoomFactor):
2017
2018 2010-05-24  Jer Noble  <jer.noble@apple.com>
2019
2020         Reviewed by Eric Carlson.
2021
2022         HTML5 <video> tag performance worse than Flash
2023         https://bugs.webkit.org/show_bug.cgi?id=39577
2024         rdar://problem/7982458
2025         
2026         Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
2027         
2028         WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
2029         a CAImageQueueRef to be set as a layer's contents.
2030         
2031         WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
2032         
2033         MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
2034         certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
2035         threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
2036         
2037         * WebCore.vcproj/WebCore.vcproj:
2038         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2039         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2040         * platform/graphics/win/QTPixelBuffer.cpp:
2041         * platform/graphics/win/QTPixelBuffer.h:
2042         * platform/graphics/win/WKCACFLayer.cpp:
2043         * platform/graphics/win/WKCACFLayer.h:
2044         * platform/graphics/win/WKCAImageQueue.cpp: Added.
2045         * platform/graphics/win/WKCAImageQueue.h: Added.
2046
2047 2010-05-24  Adam Barth  <abarth@webkit.org>
2048
2049         Reviewed by Eric Seidel.
2050
2051         Teach the HTML5 parser how to lex escaped script data
2052         https://bugs.webkit.org/show_bug.cgi?id=39630
2053
2054         * html/HTML5Lexer.cpp:
2055         (WebCore::HTMLNames::vectorEqualsString):
2056         (WebCore::HTML5Lexer::nextToken):
2057         (WebCore::HTML5Lexer::temporaryBufferIs):
2058         (WebCore::HTML5Lexer::isAppropriateEndTag):
2059         (WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
2060         (WebCore::HTML5Lexer::flushBufferedEndTag):
2061         * html/HTML5Lexer.h:
2062
2063 2010-05-24  Eric Seidel  <eric@webkit.org>
2064
2065         Unreviewed.  Trick MSVC into ignoring our unused code for the moment.
2066
2067         Prepare HTML5TreeBuilder for addition of new HTML5 parser code
2068         https://bugs.webkit.org/show_bug.cgi?id=39623
2069
2070         * html/HTML5TreeBuilder.cpp:
2071         (WebCore::HTML5TreeBuilder::constructTreeFromToken):
2072
2073 2010-05-24  Darin Adler  <darin@apple.com>
2074
2075         Fix build on platforms with touch code enabled.
2076
2077         * page/EventHandler.cpp:
2078         (WebCore::pageZoomFactor): Added.
2079         (WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.
2080
2081 2010-05-24  Darin Adler  <darin@apple.com>
2082
2083         Reviewed by Eric Seidel.
2084
2085         Move view-related functions from Frame to FrameView
2086         https://bugs.webkit.org/show_bug.cgi?id=39366
2087
2088         Refactoring only so adds no new tests.
2089
2090         * WebCore.base.exp: Updated.
2091
2092         * css/CSSStyleSelector.cpp:
2093         (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
2094         on FrameView.
2095         (WebCore::CSSStyleSelector::applyProperty): Ditto.
2096         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
2097         * dom/Document.cpp:
2098         (WebCore::Document::elementFromPoint): Ditto.
2099         (WebCore::Document::caretRangeFromPoint): Ditto.
2100         * dom/MouseRelatedEvent.cpp:
2101         (WebCore::contentsX): Ditto.
2102         (WebCore::contentsY): Ditto.
2103         (WebCore::pageZoomFactor): Added helper function.
2104         (WebCore::MouseRelatedEvent::computePageLocation): Use helper.
2105         (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
2106         * dom/Node.cpp:
2107         (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
2108         (WebCore::Node::dispatchWheelEvent): Ditto.
2109         * dom/Touch.cpp:
2110         (WebCore::contentsX): Call zoom factor function on FrameView.
2111         (WebCore::contentsY): Ditto.
2112         * html/HTMLBodyElement.cpp:
2113         (WebCore::adjustForZoom): Ditto.
2114         (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
2115         (WebCore::HTMLBodyElement::setScrollTop): Ditto.
2116         * html/HTMLImageElement.cpp:
2117         (WebCore::HTMLImageElement::width): Ditto.
2118         (WebCore::HTMLImageElement::height): Ditto.
2119         * loader/ImageDocument.cpp:
2120         (WebCore::pageZoomFactor): Added helper function.
2121         (WebCore::ImageTokenizer::finish): Use helper function
2122         (WebCore::ImageDocument::scale): Ditto.
2123         (WebCore::ImageDocument::resizeImageToFit): Ditto.
2124         (WebCore::ImageDocument::imageChanged): Ditto.
2125         (WebCore::ImageDocument::restoreImageSize): Ditto.
2126         (WebCore::ImageDocument::imageFitsInWindow): Ditto.
2127         * page/DOMWindow.cpp:
2128         (WebCore::DOMWindow::innerHeight): Ditto.
2129         (WebCore::DOMWindow::innerWidth): Ditto.
2130         (WebCore::DOMWindow::scrollX): Ditto.
2131         (WebCore::DOMWindow::scrollY): Ditto.
2132         (WebCore::DOMWindow::scrollTo): Ditto.
2133         * page/DragController.cpp:
2134         (WebCore::elementUnderMouse): Ditto.
2135
2136         * page/Frame.cpp:
2137         (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
2138         * page/Frame.h: Moved functions to FrameView. Moved all #if to the left
2139         margin to make the style consistent. Removed empty function
2140         removeEditingStyleFromBodyElement.
2141
2142         * page/FrameView.cpp:
2143         (WebCore::parentZoomFactor): Added helper function for constructor.
2144         (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
2145         (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
2146         (WebCore::FrameView::shouldApplyPageZoom): Ditto.
2147         (WebCore::FrameView::setZoomFactor): Ditto.
2148
2149         * page/FrameView.h: Added members moved here from Frame.
2150
2151         * rendering/RenderView.cpp:
2152         (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
2153         * svg/SVGSVGElement.cpp:
2154         (WebCore::SVGSVGElement::currentScale): Ditto.
2155         (WebCore::SVGSVGElement::setCurrentScale): Ditto.
2156
2157 2010-05-24  Jer Noble  <jer.noble@apple.com>
2158
2159         No review; build fix only.
2160
2161         Roll-out changes r60094, 60096-60097.
2162         
2163         * WebCore.vcproj/WebCore.vcproj:
2164         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2165         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
2166         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
2167         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
2168         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2169         * platform/graphics/win/QTPixelBuffer.cpp:
2170         * platform/graphics/win/QTPixelBuffer.h:
2171         * platform/graphics/win/WKCACFLayer.cpp:
2172         (WebCore::WKCACFLayer::printLayer):
2173         * platform/graphics/win/WKCACFLayer.h:
2174         (WebCore::WKCACFLayer::setContents):
2175         (WebCore::WKCACFLayer::contents):
2176         (WebCore::WKCACFLayer::speed):
2177         (WebCore::WKCACFLayer::timeOffset):
2178         * platform/graphics/win/WKCAImageQueue.cpp: Removed.
2179         * platform/graphics/win/WKCAImageQueue.h: Removed.
2180
2181 2010-05-24  Eric Seidel  <eric@webkit.org>
2182
2183         Unreviewed.  Add wtf/UnusedParam.h include to make Chromium happy.
2184
2185         Chromium does not use a prefix header in order to support
2186         distcc3.  Other ports all do.  The real fix is to remove
2187         wtf/UnusedParam.h from the prefix header.
2188
2189         * html/HTML5TreeBuilder.cpp:
2190
2191 2010-05-24  Jer Noble  <jer.noble@apple.com>
2192
2193         No review; build fix only.
2194
2195         Second half of previous build fix, in which I add the include in the correct place.
2196
2197         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2198
2199 2010-05-24  Jer Noble  <jer.noble@apple.com>
2200
2201         No review; build fix only.
2202
2203         Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.
2204
2205         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2206
2207 2010-05-24  Eric Seidel  <eric@webkit.org>
2208
2209         Reviewed by Adam Barth.
2210
2211         Prepare HTML5TreeBuilder for addition of new HTML5 parser code
2212         https://bugs.webkit.org/show_bug.cgi?id=39623
2213
2214         Before we start transcribing the parser, we need a place to put it.
2215
2216         This also cleans up HTML5 token to not convert comment and character
2217         data into AtomicStrings (which makes no sense).
2218
2219         No functionality change, so no new tests.
2220
2221         * html/HTML5Token.h:
2222         (WebCore::HTML5Token::beginStartTag):
2223         (WebCore::HTML5Token::beginEndTag):
2224         (WebCore::HTML5Token::beginCharacter):
2225         (WebCore::HTML5Token::beginComment):
2226         (WebCore::HTML5Token::name):
2227         (WebCore::HTML5Token::adoptDataAsStringImpl):
2228         (WebCore::HTML5Token::characters):
2229         (WebCore::HTML5Token::commentData):
2230         (WebCore::HTML5Token::clearData):
2231         * html/HTML5TreeBuilder.cpp:
2232         (WebCore::convertToOldStyle):
2233         (WebCore::HTML5TreeBuilder::constructTreeFromToken):
2234         (WebCore::HTML5TreeBuilder::processToken):
2235         * html/HTML5TreeBuilder.h:
2236
2237 2010-05-23  Jer Noble  <jer.noble@apple.com>
2238
2239         Reviewed by Eric Carlson.
2240
2241         HTML5 <video> tag performance worse than Flash
2242         https://bugs.webkit.org/show_bug.cgi?id=39577
2243         rdar://problem/7982458
2244         
2245         Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
2246         
2247         WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
2248         a CAImageQueueRef to be set as a layer's contents.
2249         
2250         WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
2251         
2252         MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
2253         certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
2254         threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
2255         
2256         * WebCore.vcproj/WebCore.vcproj:
2257         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2258         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2259         * platform/graphics/win/QTPixelBuffer.cpp:
2260         * platform/graphics/win/QTPixelBuffer.h:
2261         * platform/graphics/win/WKCACFLayer.cpp:
2262         * platform/graphics/win/WKCACFLayer.h:
2263         * platform/graphics/win/WKCAImageQueue.cpp: Added.
2264         * platform/graphics/win/WKCAImageQueue.h: Added.
2265
2266 2010-05-24  Brady Eidson  <beidson@apple.com>
2267
2268         Reviewed by Darin Adler.
2269
2270         Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
2271         <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
2272
2273         Currently, a Tracker needs to know it's path before origins are populated. Testing databases and 
2274         related features is made very difficult with this regression, so instead of changing things in a
2275         complicated way to make this not the case, I've added an "initialize Tracker with this path" function
2276         that calls the DatabaseTracker constructor with the initial path.
2277
2278         I checked the other platforms besides Mac and Win, and none of them seem to perform the 
2279         "initialize databases if necessary" step in their init routines, so this change shouldn't effect them.
2280
2281         No new tests. (API specific layout test in DRT is forthcoming)
2282
2283         * WebCore.base.exp:
2284
2285         * storage/DatabaseTracker.cpp:
2286         (WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
2287         (WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
2288           can share it. Add a fallback to not change behavior of platforms that don't call the new 
2289           "initializeTracker()" method.
2290         (WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
2291         * storage/DatabaseTracker.h:
2292
2293         * storage/chromium/DatabaseTrackerChromium.cpp:
2294         (WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
2295         (WebCore::DatabaseTracker::DatabaseTracker): Ditto.
2296
2297 2010-05-24  Adam Barth  <abarth@webkit.org>
2298
2299         Reviewed by Eric Seidel.
2300
2301         Teach the HTML5 parser to lex DOCTYPEs
2302         https://bugs.webkit.org/show_bug.cgi?id=39571
2303
2304         * html/HTML5Lexer.cpp:
2305         (WebCore::HTML5Lexer::nextToken):
2306         * html/HTML5Lexer.h:
2307         * html/HTML5Token.h:
2308         (WebCore::HTML5Token::beginDOCTYPE):
2309         (WebCore::HTML5Token::publicIdentifier):
2310         (WebCore::HTML5Token::systemIdentifier):
2311         (WebCore::HTML5Token::setPublicIdentifierToEmptyString):
2312         (WebCore::HTML5Token::setSystemIdentifierToEmptyString):
2313         (WebCore::HTML5Token::appendToPublicIdentifier):
2314         (WebCore::HTML5Token::appendToSystemIdentifier):
2315         (WebCore::HTML5Token::DoctypeData::DoctypeData):
2316         * html/HTML5TreeBuilder.cpp:
2317         (WebCore::convertToOldStyle):
2318         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2319         * platform/text/SegmentedString.h:
2320         (WebCore::SegmentedString::lookAheadIgnoringCase):
2321         (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
2322
2323 == Rolled over to ChangeLog-2010-05-24 ==