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