6193fd763064fc8fc1e16503487e80f5788f5f57
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Reviewed by Tony Chang.
4
5         startOfBlock and endOfBlock may return a position inside hr
6         https://bugs.webkit.org/show_bug.cgi?id=56025
7
8         Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by
9         calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists
10         of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean
11         argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule.
12
13         Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to
14         enclosingBlock to be consitent with startOfBlock and endOfBlock.
15
16         This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock,
17         and inSameBlock by calls to containerNode because the enclosing block of a position
18         should never be before or after the position.
19
20         No tests are added because this change only affects WebCore internally.
21
22         * editing/DeleteSelectionCommand.cpp:
23         (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType.
24         Pass CanCrossEditingBoundary instead of false.
25         * editing/htmlediting.cpp:
26         (WebCore::unsplittableElementForPosition): Ditto.
27         (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to
28         enclosingNodeOfType.
29         (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean.
30         Fixed a bug that it stops walking the tree when it reached the root editable node
31         even when the editing boundary crossing rule is CanCrossEditingBoundary.
32         * editing/htmlediting.h: Prototype changes.
33         * editing/visible_units.cpp:
34         (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
35         Also added an early exit when there's no enclosing block.
36         (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in
37         lastPositionInNode.
38         (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
39         (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because
40         we don't care where the start of block is when we're comparing against the given position.
41         (WebCore::isEndOfBlock): Ditto.
42         * editing/visible_units.h:
43
44 2011-03-10  Alexey Proskuryakov  <ap@apple.com>
45
46         Reviewed by Dan Bernstein.
47
48         Backspace deletes all non-BMP symbols at once, and then some
49         https://bugs.webkit.org/show_bug.cgi?id=55971
50         <rdar://problem/8725312>
51
52         Test: platform/mac/editing/input/insert-delete-smp-symbol.html
53
54         * rendering/RenderText.cpp:
55         (WebCore::isMark): This matches what Core Foundation does for all characters that I tested.
56         (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark().
57
58 2011-03-10  Chris Evans  <cevans@chromium.org>
59
60         Reviewed by Adam Barth.
61
62         Error in StyleElement::process with large nodesets
63         https://bugs.webkit.org/show_bug.cgi?id=56150
64
65         Test: none due to excessive runtime and CRASH() vs. real crash.
66
67         * dom/StyleElement.cpp:
68         (WebCore::StyleElement::process): Handle large node sets better.
69
70 2011-03-10  David Hyatt  <hyatt@apple.com>
71
72         Reviewed by Simon Fraser.
73
74         https://bugs.webkit.org/show_bug.cgi?id=47151
75         
76         Percentage heights should skip anonymous containing blocks when computing the used value.
77
78         Added fast/block/basic/percentage-height-inside-anonymous-block.html
79
80         * rendering/RenderBox.cpp:
81         (WebCore::RenderBox::computePercentageLogicalHeight):
82
83 2011-03-10  Nat Duca  <nduca@chromium.org>
84
85         Reviewed by James Robinson.
86
87         [chromium] Make updateAndDrawLayers argumentless.
88         https://bugs.webkit.org/show_bug.cgi?id=55985
89
90         Made the TilePainters and viewport parameters for
91         LayerRendererChromium member variables instead of arguments on
92         updateAndDrawLayers. In a future change, this will allows us to
93         draw the layer tree without the WebView's assistance.
94
95         * platform/graphics/chromium/LayerRendererChromium.cpp:
96         (WebCore::LayerRendererChromium::create):
97         (WebCore::LayerRendererChromium::LayerRendererChromium):
98         (WebCore::LayerRendererChromium::verticalScrollbarRect):
99         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
100         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
101         (WebCore::LayerRendererChromium::updateRootLayerContents):
102         (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
103         (WebCore::LayerRendererChromium::drawRootLayer):
104         (WebCore::LayerRendererChromium::setViewport):
105         (WebCore::LayerRendererChromium::updateAndDrawLayers):
106         (WebCore::LayerRendererChromium::updateLayers):
107         (WebCore::LayerRendererChromium::drawLayers):
108         (WebCore::LayerRendererChromium::setRootLayer):
109         (WebCore::LayerRendererChromium::getFramebufferPixels):
110         (WebCore::LayerRendererChromium::cleanupSharedObjects):
111         * platform/graphics/chromium/LayerRendererChromium.h:
112         (WebCore::LayerRendererChromium::viewportSize):
113         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
114         (WebCore::CCHeadsUpDisplay::draw):
115
116 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
117
118         Reviewed by Xan Lopez.
119
120         [GTK] Implement spin buttons for GTK+ 2.x
121         https://bugs.webkit.org/show_bug.cgi?id=53098
122
123         Implement spin buttons for GTK+ 2.x. This allows proper render and functioning
124         for input type=number. The implementation is based on the one in gtkspinbutton.c
125         from the GTK+ sources.
126
127         * platform/gtk/RenderThemeGtk.h: Added new members and getters.
128         * platform/gtk/RenderThemeGtk2.cpp:
129         (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget.
130         (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the
131         spin button area to have proper rendering. There doesn't seem to be any other
132         clean way of having spin buttons that are the size of the text input frame.
133         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation.
134         (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto.
135         (WebCore::RenderThemeGtk::gtkSpinButton): Added.
136
137 2011-03-10  Levi Weintraub  <leviw@chromium.org>
138
139         Reviewed by Ryosuke Niwa.
140
141         InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop
142         https://bugs.webkit.org/show_bug.cgi?id=53409
143
144         Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection
145         spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm
146         didn't skip the editable boundary.
147
148         Test: editing/execCommand/insert-list-with-noneditable-content.html
149
150         * editing/CompositeEditCommand.cpp:
151         (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination
152         position for the active editing command. Without this, there are cases when the destination happens
153         to be a placeholder, and we remove it.
154         (WebCore::CompositeEditCommand::moveParagraphs):
155         * editing/CompositeEditCommand.h:
156         * editing/InsertListCommand.cpp:
157         (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of
158         non-editable content in an editable context. Previously, this could cause an infinite loop.
159         * editing/visible_units.cpp:
160         (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable
161         content in the same paragraph to reach the actual editable paragraph start.
162         (WebCore::endOfParagraph): Ditto.
163         (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of
164         endOfParagraph.
165
166 2011-03-10  Berend-Jan Wever  <skylined@chromium.org>
167
168         Reviewed by Darin Adler.
169
170         Calling focus() on an area element not in a document should not cause a NULL ptr crash
171         https://bugs.webkit.org/show_bug.cgi?id=54877
172
173         Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html
174
175         * dom/Element.cpp:
176         (WebCore::Element::focus): Check element is in the document before allowing focus
177         * html/HTMLAreaElement.cpp: 
178         (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map
179
180 2011-03-10  Xiyuan Xia  <xiyuan@chromium.org>
181
182         Reviewed by Tony Chang.
183
184         [Chromium] Fix default single selection select's popup background on chromium/linux
185         https://bugs.webkit.org/show_bug.cgi?id=56023
186
187         Test: fast/html/select-dropdown-consistent-background-color.html
188
189         * css/themeChromiumLinux.css:
190
191 2011-03-10  Kris Jordan  <krisjordan@gmail.com>
192
193         Reviewed by Alexey Proskuryakov.
194
195         Improve default Accept header to give preference to HTML over XML.
196         https://bugs.webkit.org/show_bug.cgi?id=27267
197
198         * loader/FrameLoader.cpp:Changed default accept header to match
199         FireFox' as per bug 27267.
200
201 2011-03-10  Martin Robinson  <mrobinson@igalia.com>
202
203         Reviewed by Xan Lopez.
204
205         [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser
206         https://bugs.webkit.org/show_bug.cgi?id=56125
207
208         No new tests. This functionality will be tested once we have TestRunner
209         implementation for WebKit2 with pixel dumping support.
210
211         * GNUmakefile.am: Add a new define with tracks whether or not we are using
212         our specialized GTK+ ScrollView.
213         * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling
214         WebKit1.
215         (WebCore::ScrollView::wheelEvent):
216         * platform/gtk/ScrollViewGtk.cpp: Ditto.
217
218 2011-03-10  Kent Tamura  <tkent@chromium.org>
219
220         Reviewed by Dimitri Glazkov.
221
222         Assertion fails by validating a form twice very quickly
223         https://bugs.webkit.org/show_bug.cgi?id=56069
224
225         If the interactive validation is invoked when a form control is in
226         needsLayout() state, an assertion in isFocusable() fails. To avoid it,
227         Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable().
228
229         Test: fast/forms/interactive-validation-assertion-by-validate-twice.html
230
231         * html/HTMLFormElement.cpp:
232         (WebCore::HTMLFormElement::validateInteractively):
233           Calls updateLayoutIgnorePendingStylesheets().
234
235 2011-03-10  David Hyatt  <hyatt@apple.com>
236
237         Reviewed by Beth Dakin.
238
239         https://bugs.webkit.org/show_bug.cgi?id=47143
240         
241         Static distance computation is wrong when an ancestor is also positioned.  We need to go up the container()
242         chain (after initially starting with the parent()) when doing this computation, so that we properly skip
243         intermediate boxes between two positioned blocks.
244
245         Added fast/block/positioning/static-distance-with-positioned-ancestor.html.
246
247         * rendering/RenderBox.cpp:
248         (WebCore::computeInlineStaticDistance):
249         (WebCore::computeBlockStaticDistance):
250
251 2011-03-10  Adrienne Walker  <enne@google.com>
252
253         Reviewed by Kenneth Russell.
254
255         [chromium] Make tiled compositor data structure more efficient.
256         https://bugs.webkit.org/show_bug.cgi?id=54133
257
258         Previously, the compositor had a sparse 2D array of tiles for the
259         whole page, most of which were null.  The tiles were implicitly
260         located based on their position in the array. This was inefficient
261         when the page grew (e.g. infinite scrolling) and caused some bugs
262         (e.g. width * height > MAX_INT).  This change modifies tiles to have
263         explicit positions so they can be stored in a hash map.
264
265         Tests: LayoutTests/compositing/
266
267         * platform/graphics/chromium/LayerTilerChromium.cpp:
268         (WebCore::LayerTilerChromium::reset):
269         (WebCore::LayerTilerChromium::createTile):
270         (WebCore::LayerTilerChromium::invalidateTiles):
271         (WebCore::LayerTilerChromium::contentRectToTileIndices):
272         (WebCore::LayerTilerChromium::tileAt):
273         (WebCore::LayerTilerChromium::tileContentRect):
274         (WebCore::LayerTilerChromium::tileLayerRect):
275         (WebCore::LayerTilerChromium::invalidateRect):
276         (WebCore::LayerTilerChromium::invalidateEntireLayer):
277         (WebCore::LayerTilerChromium::update):
278         (WebCore::LayerTilerChromium::updateFromPixels):
279         (WebCore::LayerTilerChromium::draw):
280         (WebCore::LayerTilerChromium::growLayerToContain):
281         * platform/graphics/chromium/LayerTilerChromium.h:
282         (WebCore::LayerTilerChromium::Tile::Tile):
283         (WebCore::LayerTilerChromium::Tile::i):
284         (WebCore::LayerTilerChromium::Tile::j):
285         (WebCore::LayerTilerChromium::Tile::moveTo):
286         (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue):
287         (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue):
288         (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue):
289
290 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
291
292         Unreviewed build fix for r80752; Negated the boolean logic.
293
294         * editing/VisiblePosition.cpp:
295         (WebCore::VisiblePosition::next):
296         (WebCore::VisiblePosition::previous):
297
298 2011-03-10  David Hyatt  <hyatt@apple.com>
299
300         Reviewed by Adam Roben.
301
302         Make the same change to xheight on Windows for CG.
303
304         * platform/graphics/win/SimpleFontDataCGWin.cpp:
305         (WebCore::SimpleFontData::platformInit):
306
307 2011-03-10  David Hyatt  <hyatt@apple.com>
308
309         Reviewed by Simon Fraser.
310
311         https://bugs.webkit.org/show_bug.cgi?id=47147
312         
313         Fix for repaint issues when the root element is a table and needs to paint a background that
314         covers the entire canvas.  Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers,
315         so that it can be called only for fill layer painting.  Make tables and normal boxes both
316         call this new method.  Fix the dirty check at the start of RenderTable paint to not happen if
317         the table is the root of the document (this same check exists in RenderBlock painting already).
318
319         * rendering/RenderBox.cpp:
320         (WebCore::RenderBox::paintRootBoxFillLayers):
321         (WebCore::RenderBox::paintBoxDecorations):
322         (WebCore::RenderBox::paintBoxDecorationsWithSize):
323         * rendering/RenderBox.h:
324         * rendering/RenderLayerCompositor.cpp:
325         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
326         * rendering/RenderTable.cpp:
327         (WebCore::RenderTable::paint):
328         (WebCore::RenderTable::paintBoxDecorations):
329
330 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
331
332         Unreviewed, rolling out r80749.
333         http://trac.webkit.org/changeset/80749
334         https://bugs.webkit.org/show_bug.cgi?id=56143
335
336         "Caused at least 3 media tests to be flaky" (Requested by
337         tonyg-cr on #webkit).
338
339         * html/parser/HTMLDocumentParser.cpp:
340         (WebCore::HTMLDocumentParser::canTakeNextToken):
341         (WebCore::HTMLDocumentParser::pumpTokenizer):
342         * html/parser/HTMLParserScheduler.cpp:
343         * html/parser/HTMLParserScheduler.h:
344         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
345         * page/FrameView.h:
346
347 2011-03-10  Sam Weinig  <sam@webkit.org>
348
349         Reviewed by David Hyatt.
350
351         Regression: Content not drawn when scrolling horizontally in an RTL page
352         https://bugs.webkit.org/show_bug.cgi?id=55077
353
354         * platform/ScrollView.cpp:
355         (WebCore::ScrollView::overhangAmount):
356         (WebCore::ScrollView::calculateOverhangAreasForPainting):
357         Take the scroll origin into account when calculating overhang.
358
359         * platform/ScrollView.h:
360         * rendering/RenderLayer.h:
361         * platform/ScrollableArea.h:
362         (WebCore::ScrollableArea::scrollOrigin):
363         Move identical scroll origin member from ScrollView and RenderLayer
364         to shared base ScrollableArea. This is also needed so that the animator
365         can access it.
366
367         * platform/mac/ScrollAnimatorMac.mm:
368         (WebCore::ScrollAnimatorMac::pinnedInDirection):
369         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
370         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
371         Account for a scroll origin when doing calculating scroll offsets.
372
373 2011-03-09  Matthew Delaney  <mdelaney@apple.com>
374
375         Reviewed by Simon Fraser.
376
377         Plumb through settings for accelerated drawing for canvas
378         https://bugs.webkit.org/show_bug.cgi?id=56039
379
380         No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends.
381
382         * WebCore.exp.in:
383         * html/HTMLCanvasElement.cpp:
384         * html/canvas/CanvasRenderingContext2D.cpp:
385         * page/Settings.cpp:
386         * page/Settings.h:
387
388 2011-03-10  David Hyatt  <hyatt@apple.com>
389
390         Reviewed by Simon Fraser.
391
392         https://bugs.webkit.org/show_bug.cgi?id=47157
393         
394         CSS2.1 test suite failures because the ex unit is broken with the Ahem font.
395         
396         Remove the code that tries to also include the maxX of the glyph bounds for the
397         'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends
398         below the baseline.
399
400         Remove the Apple Symbol hack for ex units, since the person who added that was confused by another
401         issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize.  That's why
402         the value was too small.  Patched the code to just multiply by pointSize and took out the hack.
403         
404         Fix causes many tests in the css2.1 directory to progress, so no new tests required.  Many other
405         layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio
406         buttons use ex horizontal margins by default.
407
408         * platform/graphics/mac/SimpleFontDataMac.mm:
409         (WebCore::SimpleFontData::platformInit):
410
411 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
412
413         Reviewed by Tony Chang.
414
415         VisiblePosition's next and previous should take an enum instead of a boolean
416         https://bugs.webkit.org/show_bug.cgi?id=56135
417
418         Changed the argument type of VisiblePosition::next and VisiblePosition::previous
419         from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum
420         in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum
421         was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll
422         to call VisiblePosition::next and VisiblePosition::previous.
423
424         * WebCore.exp.in:
425         * dom/Position.cpp:
426         (WebCore::Position::trailingWhitespacePosition):
427         * editing/ApplyBlockElementCommand.cpp:
428         (WebCore::ApplyBlockElementCommand::doApply):
429         * editing/CompositeEditCommand.cpp:
430         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
431         * editing/InsertListCommand.cpp:
432         (WebCore::InsertListCommand::doApply):
433         (WebCore::InsertListCommand::listifyParagraph):
434         * editing/ReplaceSelectionCommand.cpp:
435         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
436         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
437         (WebCore::ReplaceSelectionCommand::doApply):
438         * editing/SelectionController.cpp:
439         (WebCore::SelectionController::modifyExtendingRight):
440         (WebCore::SelectionController::modifyExtendingForward):
441         (WebCore::SelectionController::modifyMovingForward):
442         (WebCore::SelectionController::modifyExtendingLeft):
443         (WebCore::SelectionController::modifyExtendingBackward):
444         (WebCore::SelectionController::modifyMovingBackward):
445         * editing/SelectionController.h:
446         (WebCore::SelectionController::isAll):
447         * editing/TypingCommand.cpp:
448         (WebCore::TypingCommand::deleteKeyPressed):
449         (WebCore::TypingCommand::forwardDeleteKeyPressed):
450         * editing/VisiblePosition.cpp:
451         (WebCore::VisiblePosition::next):
452         (WebCore::VisiblePosition::previous):
453         * editing/VisiblePosition.h:
454         * editing/VisibleSelection.cpp:
455         (WebCore::VisibleSelection::isAll):
456         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
457         * editing/VisibleSelection.h:
458         * editing/htmlediting.cpp:
459         (WebCore::selectionForParagraphIteration):
460         * editing/visible_units.cpp:
461         (WebCore::startOfNextParagraph):
462
463 2011-03-10  Mihai Parparita  <mihaip@chromium.org>
464
465         Reviewed by Tony Gentilcore.
466
467         Remove CRASH() calls added to track down bug 53045
468         https://bugs.webkit.org/show_bug.cgi?id=56137
469
470         Remove CRASH() calls added by r76575 and re-label ones added by r80155
471         and r80269 as being associated with bug 56124 (which may still be
472         happening).
473
474         * css/CSSImageValue.cpp:
475         (WebCore::CSSImageValue::cachedImage):
476         * css/CSSSelector.h:
477         * css/CSSSelectorList.cpp:
478         (WebCore::CSSSelectorList::deleteSelectors):
479         * loader/cache/CachedResource.cpp:
480         (WebCore::CachedResource::CachedResource):
481         (WebCore::CachedResource::~CachedResource):
482         * loader/cache/CachedResource.h:
483
484 2011-03-10  Tony Gentilcore  <tonyg@chromium.org>
485
486         Reviewed by Eric Seidel.
487
488         Let the parser yield for layout before running scripts
489         https://bugs.webkit.org/show_bug.cgi?id=54355
490
491         Prior to this patch, the parser would yield to perform a layout/paint before running a
492         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
493         don't preload scan into the body while parsing the head, typically we'll block on a script
494         early in the body that causes us to yield to do the first paint within a reasonable time.
495
496         However, I'm planning to change the PreloadScanner to scan into the body from the head.
497         That significantly improves overall load time, but would hurt first paint time because
498         fewer scripts would be blocked during parsing and thus wouldn't yield.
499
500         This change causes us to yield before running scripts if we haven't painted yet (regardless
501         of whether or not the script is loaded). In addition to allowing the above mentioned
502         PreloadScanner change to be implemented without regressing first paint time, this also
503         improves first paint time by itself.
504
505         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
506         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
507         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
508         signifcant change in page load time.
509
510         Within the pages tested, 33 had no statistically significant change in time to first paint,
511         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
512         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
513
514         * html/parser/HTMLDocumentParser.cpp:
515         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
516         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
517         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
518         the right thing whether we are just before a token or waiting for a script. Now that we may
519         yield before a token or before a script, this may be called while paused.
520         * html/parser/HTMLParserScheduler.cpp:
521         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
522         * page/FrameView.h:
523         (WebCore::FrameView::hasEverPainted): Added.
524
525 2011-03-10  Alejandro G. Castro  <alex@igalia.com>
526
527         Reviewed by Martin Robinson.
528
529         Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE)
530         https://bugs.webkit.org/show_bug.cgi?id=55996
531
532         Use the macre USE instead of defined fro WTF_USE_FREETYPE and
533         WTF_USE_PANGO.
534
535         * GNUmakefile.am:
536         * platform/graphics/cairo/OwnPtrCairo.cpp:
537         * platform/graphics/cairo/OwnPtrCairo.h:
538         * platform/graphics/cairo/RefPtrCairo.cpp:
539         * platform/graphics/cairo/RefPtrCairo.h:
540         * platform/graphics/gtk/FontGtk.cpp:
541         (WebCore::setPangoAttributes):
542         (WebCore::Font::drawComplexText):
543         (WebCore::Font::floatWidthForComplexText):
544         (WebCore::Font::offsetForPositionForComplexText):
545         (WebCore::Font::selectionRectForComplexText):
546
547 2011-03-10  Geoffrey Garen  <ggaren@apple.com>
548
549         Reviewed by Oliver Hunt.
550
551         Rolled back in 80277 and 80280 with event handler layout test failures fixed.
552         https://bugs.webkit.org/show_bug.cgi?id=55653
553
554         The failures were caused by a last minute typo: assigning to currentEvent
555         instead of m_currentEvent.
556
557         * WebCore.xcodeproj/project.pbxproj:
558         * bindings/js/JSDOMGlobalObject.cpp:
559         * bindings/js/JSDOMGlobalObject.h:
560         * bindings/js/JSDOMWindowBase.cpp:
561         * bindings/js/JSDOMWindowBase.h:
562         * bindings/js/JSDOMWindowCustom.h:
563         * bindings/js/JSWorkerContextBase.cpp:
564
565 2011-03-10  David Hyatt  <hyatt@apple.com>
566
567         Reviewed by Dan Bernstein.
568
569         https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard.
570
571         Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the
572         translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since
573         this is done already on Lion and Leopard.
574
575         * platform/graphics/mac/FontMac.mm:
576         (WebCore::showGlyphsWithAdvances):
577
578 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
579
580         Unreviewed, rolling out r80701.
581         http://trac.webkit.org/changeset/80701
582         https://bugs.webkit.org/show_bug.cgi?id=56126
583
584         fast/dom/Geolocation/window-close-crash.html fails on Snow
585         Leopard release builds (Requested by mihaip on #webkit).
586
587         * page/DOMWindow.cpp:
588         * page/DOMWindow.h:
589         * page/Frame.cpp:
590         (WebCore::Frame::pageDestroyed):
591         (WebCore::Frame::transferChildFrameToNewDocument):
592         * page/Geolocation.cpp:
593         (WebCore::Geolocation::~Geolocation):
594         (WebCore::Geolocation::disconnectFrame):
595         (WebCore::Geolocation::lastPosition):
596         (WebCore::Geolocation::requestPermission):
597         (WebCore::Geolocation::startUpdating):
598         (WebCore::Geolocation::stopUpdating):
599         * page/Geolocation.h:
600         * page/GeolocationController.cpp:
601         (WebCore::GeolocationController::~GeolocationController):
602         * page/Navigator.cpp:
603         * page/Navigator.h:
604         * platform/mock/GeolocationClientMock.cpp:
605         * platform/mock/GeolocationClientMock.h:
606
607 2011-03-10  Pratik Solanki  <psolanki@apple.com>
608
609         Reviewed by Alexey Proskuryakov.
610
611         ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority
612         https://bugs.webkit.org/show_bug.cgi?id=56075
613
614         Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved.
615
616         * platform/network/cf/ResourceRequestCFNet.h:
617         (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority):
618         (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority):
619
620 2011-03-10  Andrey Adaikin  <aandrey@google.com>
621
622         Reviewed by Pavel Feldman.
623
624         Web Inspector: [Text editor] Substitute live-edit mode activation by double-click
625         https://bugs.webkit.org/show_bug.cgi?id=56084
626
627         Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer.
628
629         * inspector/front-end/SourceFrame.js:
630         (WebInspector.SourceFrame):
631         (WebInspector.SourceFrame.prototype._startEditing):
632         (WebInspector.SourceFrame.prototype._registerShortcuts):
633         (WebInspector.SourceFrame.prototype._handleKeyDown):
634         (WebInspector.SourceFrame.prototype._handleSave):
635         (WebInspector.SourceFrame.prototype._handleRevertEditing):
636         (WebInspector.SourceFrame.prototype._doubleClick):
637         * inspector/front-end/TextEditorModel.js:
638         (WebInspector.TextEditorModel.prototype.get text):
639         * inspector/front-end/TextViewer.js:
640         (WebInspector.TextViewer.prototype.get readOnly):
641         (WebInspector.TextEditorMainPanel):
642         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
643         (WebInspector.TextEditorMainPanel.prototype.get readOnly):
644
645 2011-03-10  Greg Simon  <gregsimon@chromium.org>
646
647         Reviewed by Pavel Feldman.
648
649         Web Inspector: Need new graphic icon for garbage collect button.
650         https://bugs.webkit.org/show_bug.cgi?id=55794
651
652         No new tests: gc tests are flaky due to non-determinisic
653         behavior of collection APIs (more notes in bug)
654
655         * English.lproj/localizedStrings.js:
656         * WebCore.gypi:
657         * bindings/js/ScriptProfiler.cpp:
658         (WebCore::ScriptProfiler::collectGarbage):
659         * bindings/js/ScriptProfiler.h:
660         * bindings/v8/ScriptProfiler.cpp:
661         (WebCore::ScriptProfiler::collectGarbage):
662         * bindings/v8/ScriptProfiler.h:
663         * inspector/Inspector.idl:
664         * inspector/InspectorProfilerAgent.cpp:
665         (WebCore::InspectorProfilerAgent::collectGarbage):
666         * inspector/InspectorProfilerAgent.h:
667         * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added.
668         * inspector/front-end/TimelinePanel.js:
669         (WebInspector.TimelinePanel.prototype.get statusBarItems):
670         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
671         (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
672         * inspector/front-end/inspector.css:
673         (.garbage-collect-status-bar-item .glyph):
674
675 2011-03-10  Andrey Kosyakov  <caseq@chromium.org>
676
677         Web Inspector: better names for HAR export commands
678         https://bugs.webkit.org/show_bug.cgi?id=56097
679
680         Rename Export to HAR to Copy entry/network log as HAR
681         Expose Copy as HAR unconditionally, remove related settings entry.
682
683         * English.lproj/localizedStrings.js:
684         * inspector/front-end/NetworkPanel.js:
685         (WebInspector.NetworkPanel.prototype._contextMenu):
686         * inspector/front-end/Settings.js:
687
688 2011-03-10  Qi Zhang  <qi.2.zhang@nokia.com>
689
690         Reviewed by Laszlo Gombos.
691
692         [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
693         https://bugs.webkit.org/show_bug.cgi?id=48636
694
695         Fix a typo in features.pri that turns on this feature on mobile
696         devices by default.
697
698         * features.pri:
699
700 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
701
702         Reviewed by Pavel Feldman.
703
704         Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js)
705         https://bugs.webkit.org/show_bug.cgi?id=56092
706
707         * inspector/front-end/CSSStyleModel.js:
708         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
709
710 2011-03-10  Pavel Feldman  <pfeldman@chromium.org>
711
712         Not reviewed: rolling out r80478 and its follow ups for breaking
713         inspector and engadget.com.
714         https://bugs.webkit.org/show_bug.cgi?id=49401
715
716         * dom/Document.cpp:
717         (WebCore::Document::Document):
718         (WebCore::performTask):
719         (WebCore::Document::postTask):
720         * dom/Document.h:
721         * loader/FrameLoader.cpp:
722         (WebCore::FrameLoader::setDefersLoading):
723         * manual-tests/database-callback-deferred.html: Removed.
724         * page/PageGroupLoadDeferrer.cpp:
725         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
726         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
727
728 2011-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
729
730         Reviewed by Kenneth Rohde Christiansen.
731
732         Tiled backing store's delegated scroll request uses incorrect convention
733         https://bugs.webkit.org/show_bug.cgi?id=56011
734
735         Use a point instead of delta, when relaying the scroll request from
736         ScrollView::setScrollPosition.
737
738         * loader/EmptyClients.h:
739         (WebCore::EmptyChromeClient::delegatedScrollRequested):
740         * page/Chrome.cpp:
741         (WebCore::Chrome::delegatedScrollRequested):
742         * page/Chrome.h:
743         * page/ChromeClient.h:
744         * platform/HostWindow.h:
745         * platform/ScrollView.cpp:
746         (WebCore::ScrollView::setScrollPosition):
747
748 2011-03-10  Pavel Feldman  <pfeldman@chromium.org>
749
750         Reviewed by Yury Semikhatsky.
751
752         Web Inspector: brush up DOM agent API.
753         https://bugs.webkit.org/show_bug.cgi?id=56093
754
755         * inspector/Inspector.idl:
756         * inspector/InspectorDOMAgent.cpp:
757         (WebCore::InspectorDOMAgent::childNodes):
758         (WebCore::InspectorDOMAgent::setNodeName):
759         (WebCore::InspectorDOMAgent::outerHTML):
760         (WebCore::InspectorDOMAgent::setNodeValue):
761         * inspector/InspectorDOMAgent.h:
762         * inspector/front-end/DOMAgent.js:
763         (WebInspector.DOMNode):
764         (WebInspector.DOMNode.prototype.hasAttributes):
765         (WebInspector.DOMNode.prototype.nodeType):
766         (WebInspector.DOMNode.prototype.nodeName):
767         (WebInspector.DOMNode.prototype.setNodeName):
768         (WebInspector.DOMNode.prototype.localName):
769         (WebInspector.DOMNode.prototype.nodeValue):
770         (WebInspector.DOMNode.prototype.setNodeValue):
771         (WebInspector.DOMNode.prototype.setAttribute):
772         (WebInspector.DOMNode.prototype.attributes):
773         (WebInspector.DOMNode.prototype.removeAttribute):
774         (WebInspector.DOMNode.prototype.childNodes.mycallback):
775         (WebInspector.DOMNode.prototype.childNodes):
776         (WebInspector.DOMNode.prototype.outerHTML):
777         (WebInspector.DOMNode.prototype.setOuterHTML):
778         (WebInspector.DOMNode.prototype.removeNode):
779         (WebInspector.DOMNode.prototype.copyNode):
780         (WebInspector.DOMNode.prototype.path):
781         (WebInspector.DOMNode.prototype._setAttributesPayload):
782         (WebInspector.DOMNode.prototype._addAttribute):
783         (WebInspector.DOMAgent.prototype._characterDataModified):
784         * inspector/front-end/ElementsPanel.js:
785         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
786         (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
787         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
788         * inspector/front-end/ElementsTreeOutline.js:
789         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
790         (WebInspector.ElementsTreeElement):
791         (WebInspector.ElementsTreeElement.prototype.updateChildren):
792         (WebInspector.ElementsTreeElement.prototype._updateChildren):
793         (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
794         (WebInspector.ElementsTreeElement.prototype._startEditing):
795         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
796         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
797         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
798         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
799         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
800         ():
801         * inspector/front-end/EventListenersSidebarPane.js:
802         ():
803         * inspector/front-end/MetricsSidebarPane.js:
804         * inspector/front-end/StylesSidebarPane.js:
805         * inspector/front-end/utilities.js:
806
807 2011-03-09  Alexander Pavlov  <apavlov@chromium.org>
808
809         Reviewed by Pavel Feldman.
810
811         Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren
812         https://bugs.webkit.org/show_bug.cgi?id=56002
813
814         * inspector/front-end/StylesSidebarPane.js: Introduce an additional check.
815
816 2011-03-09  Pavel Podivilov  <podivilov@chromium.org>
817
818         Reviewed by Pavel Feldman.
819
820         Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate.
821         https://bugs.webkit.org/show_bug.cgi?id=56034
822
823         * inspector/front-end/DebuggerPresentationModel.js:
824         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
825         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
826         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
827         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
828         (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation):
829         * inspector/front-end/ScriptsPanel.js:
830         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
831         (WebInspector.SourceFrameDelegateForScriptsPanel):
832         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
833         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
834         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
835         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
836         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
837         * inspector/front-end/SourceFrame.js:
838         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
839         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
840         (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
841         (WebInspector.SourceFrame.prototype._contextMenu):
842         (WebInspector.SourceFrame.prototype._mouseDown):
843         (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
844         (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
845
846 2011-03-09  Alexander Pavlov  <apavlov@chromium.org>
847
848         Reviewed by Pavel Feldman.
849
850         Web Inspector: elements dom tree - word wrap toggle
851         https://bugs.webkit.org/show_bug.cgi?id=44311
852
853         A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area
854         and persisted into application settings.
855
856         * English.lproj/localizedStrings.js:
857         * inspector/front-end/ElementsPanel.js:
858         (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
859         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap):
860         * inspector/front-end/ElementsTreeOutline.js:
861         (WebInspector.ElementsTreeOutline):
862         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
863         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
864         (WebInspector.ElementsTreeElement.prototype.onreveal):
865         * inspector/front-end/Settings.js:
866         (WebInspector.Settings):
867         * inspector/front-end/inspector.css:
868         (#elements-content.nowrap):
869         (#elements-content > ol):
870
871 2011-03-09  Pavel Podivilov  <podivilov@chromium.org>
872
873         Reviewed by Pavel Feldman.
874
875         Web Inspector: re-implement breakpoints sidebar pane based on debugger presentation model.
876         https://bugs.webkit.org/show_bug.cgi?id=55823
877
878         * inspector/front-end/BreakpointsSidebarPane.js:
879         (WebInspector.JavaScriptBreakpointsSidebarPane):
880         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didLoadSnippet):
881         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
882         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
883         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
884         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
885         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
886         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
887         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
888         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
889         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
890         * inspector/front-end/DebuggerPresentationModel.js:
891         (WebInspector.DebuggerPresentationModel):
892         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
893         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
894         (WebInspector.DebuggerPresentationModel.prototype._revealHiddenBreakpoints):
895         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
896         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
897         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
898         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
899         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
900         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
901         (WebInspector.DebuggerPresentationModel.prototype.reset):
902         * inspector/front-end/ScriptsPanel.js:
903         (WebInspector.ScriptsPanel):
904         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
905         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
906         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
907         (WebInspector.ScriptsPanel.prototype.reset):
908         (WebInspector.ScriptsPanel.prototype._clearInterface):
909
910 2011-03-10  Andrey Adaikin  <aandrey@google.com>
911
912         Reviewed by Pavel Feldman.
913
914         Web Inspector: Highlighter refactoring
915         https://bugs.webkit.org/show_bug.cgi?id=56015
916
917         * inspector/front-end/TextEditorHighlighter.js:
918         (WebInspector.TextEditorHighlighter):
919         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
920         (WebInspector.TextEditorHighlighter.prototype.highlight):
921         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
922         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
923         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
924         (WebInspector.TextEditorHighlighter.prototype._selectHighlightState):
925         (WebInspector.TextEditorHighlighter.prototype._clearHighlightState):
926         * inspector/front-end/TextViewer.js:
927         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
928         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
929
930 2011-03-05  Pavel Podivilov  <podivilov@chromium.org>
931
932         Reviewed by Pavel Feldman.
933
934         Web Inspector: move breakpoint column adjustment to debugger model.
935         https://bugs.webkit.org/show_bug.cgi?id=55821
936
937         Test: inspector/debugger/debug-inlined-scripts.html
938
939         * inspector/front-end/DebuggerModel.js:
940         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
941         (WebInspector.DebuggerModel.prototype.setBreakpoint):
942         * inspector/front-end/SourceFrameContent.js:
943         (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToActualLocation):
944
945 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
946
947         Reviewed by Dmitry Titov.
948
949         Detach Geolocation from Frame when Page destroyed.
950         https://bugs.webkit.org/show_bug.cgi?id=52877
951
952         On Page destruction, any outstanding Geolocation permission
953         requests should be cancelled, because the Geolocation can only
954         access the client indirectly via m_frame->page().
955
956         Page destruction is signalled by a call to the
957         Frame::pageDestroyed() method. This explictly calls
958         DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
959
960         Geolocation::reset() detaches from the GeolocationController,
961         cancels requests, watches and single shots, and sets the
962         permission state back to Unknown.
963
964         Frame::pageDestroyed() is also called by FrameLoader even though
965         the page is not destroyed. We should still cancel permission
966         requests, because the GeolocationClient will become inaccessible
967         to the Geolocation object after this call.
968
969         Frame::transferChildFrameToNewDocument also indirectly calls
970         Geolocation::reset when the frame is reparented between
971         pages. Ideally we would like the Geolocation's activities to
972         continue after reparenting, see bug
973         https://bugs.webkit.org/show_bug.cgi?id=55577
974
975         Since GeolocationController is owned by Page, and all Geolocation
976         objects will now unsubscribe from the GeolocationController on
977         pageDetached(), we no longer need to call stopUpdating() from the
978         GeolocationController's destructor. Instead we can simply assert
979         that there should be no no observers. See related bug
980         https://bugs.webkit.org/show_bug.cgi?id=52216 .
981
982         Introduced new method 'numberOfPendingPermissionRequests' on
983         GeolocationClientMock to count the number of outstanding pending
984         permission requests. This provides a reusable implementation for
985         client-based implementations of the LayoutTestController's
986         numberOfPendingGeolocationPermissionRequests method.
987
988         Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
989
990         * page/DOMWindow.cpp:
991         (WebCore::DOMWindow::resetGeolocation):
992         * page/DOMWindow.h:
993         * page/Frame.cpp:
994         (WebCore::Frame::pageDestroyed):
995         (WebCore::Frame::transferChildFrameToNewDocument):
996         * page/Geolocation.cpp:
997         (WebCore::Geolocation::~Geolocation):
998         (WebCore::Geolocation::page):
999         (WebCore::Geolocation::reset):
1000         (WebCore::Geolocation::disconnectFrame):
1001         (WebCore::Geolocation::lastPosition):
1002         (WebCore::Geolocation::requestPermission):
1003         (WebCore::Geolocation::startUpdating):
1004         (WebCore::Geolocation::stopUpdating):
1005         * page/Geolocation.h:
1006         * page/GeolocationController.cpp:
1007         (WebCore::GeolocationController::~GeolocationController):
1008         * page/Navigator.cpp:
1009         (WebCore::Navigator::resetGeolocation):
1010         * page/Navigator.h:
1011         * platform/mock/GeolocationClientMock.cpp:
1012         (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
1013         * platform/mock/GeolocationClientMock.h:
1014
1015 2011-03-10  Ojan Vafai  <ojan@chromium.org>
1016
1017         Reviewed by Darin Adler.
1018
1019         Able to move nodes across documents
1020         https://bugs.webkit.org/show_bug.cgi?id=19524
1021
1022         Makes cross-document appendChild, insertBefore, Range.insertNode and Range.surroundContents work.
1023         This matches Gecko and the new Dom Core spec. There are a number of Range methods where we don't 
1024         match Gecko or the spec that will need to be updated in a following patch.
1025
1026         Test: fast/dom/move-nodes-across-documents.html
1027
1028         * dom/Element.cpp:
1029         (WebCore::Element::removeAttributeNode):
1030         * dom/NamedNodeMap.cpp:
1031         (WebCore::NamedNodeMap::setNamedItem):
1032         * dom/Node.cpp:
1033         (WebCore::Node::setDocumentRecursively):
1034         (WebCore::checkAcceptChild):
1035         (WebCore::Node::checkReplaceChild):
1036         * dom/Range.cpp:
1037         (WebCore::Range::insertNode):
1038         (WebCore::Range::surroundContents):
1039
1040 2011-03-09  Antti Koivisto  <antti@apple.com>
1041
1042         Not reviewed.
1043
1044         Reverting crash catching code, the bug being hunted was fixed by
1045         http://trac.webkit.org/changeset/80686
1046
1047         * loader/cache/CachedResourceLoader.cpp:
1048         (WebCore::CachedResourceLoader::CachedResourceLoader):
1049         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1050         (WebCore::CachedResourceLoader::requestImage):
1051         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1052         (WebCore::CachedResourceLoader::requestResource):
1053         (WebCore::CachedResourceLoader::setAutoLoadImages):
1054         (WebCore::CachedResourceLoader::load):
1055         (WebCore::CachedResourceLoader::loadDone):
1056         (WebCore::CachedResourceLoader::preload):
1057         (WebCore::CachedResourceLoader::requestPreload):
1058         * loader/cache/CachedResourceLoader.h:
1059
1060 2011-03-09  Peter Kasting  <pkasting@google.com>
1061
1062         Unreviewed, build fix.
1063
1064         * StringsNotToBeLocalized.txt: Add function names I forgot.
1065         * platform/win/SystemInfo.cpp: #if out some uncalled functions on WinCE,
1066           since they don't compile anyway.  Use ZeroMemory() instead of "= {0}"
1067           since Qt is stupid and (sometimes?!) warns about it.
1068         (WebCore::windowsVersion):
1069         (WebCore::processorArchitecture):
1070
1071 2011-03-09  Peter Kasting  <pkasting@google.com>
1072
1073         Reviewed by Ryosuke Niwa.
1074
1075         Add UA string tags for Windows 64.
1076         https://bugs.webkit.org/show_bug.cgi?id=55226
1077
1078         * StringsNotToBeLocalized.txt:
1079         * platform/win/SystemInfo.cpp:
1080         (WebCore::osVersionForUAString):
1081         (WebCore::isWOW64):
1082         (WebCore::processorArchitecture):
1083         (WebCore::architectureTokenForUAString):
1084         (WebCore::windowsVersionForUAString):
1085
1086 2011-03-09  Peter Kasting  <pkasting@google.com>
1087
1088         Unreviewed, attempted build fix.
1089
1090         * WebCore.pri: Try to update include path for Qt Windows build.
1091
1092 2011-03-09  Peter Kasting  <pkasting@google.com>
1093
1094         Unreviewed, build fix.
1095
1096         * platform/win/SystemInfo.cpp:
1097         (WebCore::windowsVersionForUAString): Fix const conversion warning on Qt.
1098
1099 2011-03-09  Peter Kasting  <pkasting@google.com>
1100
1101         Reviewed by Mihai Parparita.
1102
1103         Unify Windows version checks.
1104         https://bugs.webkit.org/show_bug.cgi?id=55979
1105
1106         * GNUmakefile.am: Fix spaces -> tabs.
1107         * StringsNotToBeLocalized.txt:
1108         * WebCore.pro: Add SystemInfo.* to Qt build.
1109         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1110         (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
1111         (WebCore::ScrollbarThemeChromiumWin::getThemeState):
1112         (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
1113         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1114         (WebCore::fillBMPGlyphs):
1115         * platform/win/CursorWin.cpp:
1116         (WebCore::createSharedCursor):
1117         * platform/win/ScrollbarThemeWin.cpp:
1118         (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
1119         * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function.
1120         (WebCore::windowsVersion):
1121         (WebCore::windowsVersionForUAString):
1122         * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function.
1123         * rendering/RenderThemeChromiumWin.cpp:
1124         (WebCore::getNonClientMetrics):
1125         * rendering/RenderThemeWin.cpp:
1126         (WebCore::RenderThemeWin::getThemeData):
1127         (WebCore::RenderThemeWin::paintMenuList):
1128         (WebCore::RenderThemeWin::paintMenuListButton):
1129
1130 2011-03-09  Mihai Parparita  <mihaip@chromium.org>
1131
1132         Reviewed by Tony Gentilcore.
1133
1134         REGRESSION (r74807): memory corruption after CachedResourceLoader refactoring
1135         https://bugs.webkit.org/show_bug.cgi?id=53045
1136         
1137         Copy the URL out of the CachedResource that is being revalidated, so
1138         that we can still use it (in m_validatedURLs) after removing the
1139         resource from the memory cache, which may delete it.
1140
1141         No new tests, since I was not able to trigger this locally (in a layout
1142         test or otherwise).
1143
1144         * loader/cache/CachedResourceLoader.cpp:
1145         (WebCore::CachedResourceLoader::revalidateResource):
1146
1147 2011-03-09  Chris Fleizach  <cfleizach@apple.com>
1148
1149         Reviewed by Beth Dakin.
1150
1151         VO reporting incorrect list count for http://www.macworld.com/news.html
1152         https://bugs.webkit.org/show_bug.cgi?id=56064
1153
1154         <li> tags should not be ignored, because they provide valuable information
1155         to screen readers.
1156
1157         Test: platform/mac/accessibility/list-items-ignored.html
1158
1159         * accessibility/AccessibilityRenderObject.cpp:
1160         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1161
1162 2011-03-09  Dan Bernstein  <mitz@apple.com>
1163
1164         Reviewed by Dave Hyatt.
1165
1166         <rdar://problem/8733254> Float disappears after incremental layout
1167         Fixed the original bug and a copule more issues noticed while doing so.
1168
1169         Tests: fast/dynamic/dirty-float-in-clean-line.html
1170                fast/dynamic/float-at-line-break.html
1171                fast/dynamic/float-from-empty-line.html
1172
1173         * rendering/RenderBlock.h:
1174         * rendering/RenderBlockLineLayout.cpp:
1175         (WebCore::RenderBlock::layoutInlineChildren): If findNextLineBreak() returned an empty line,
1176         update the line break info of the last line with the new line break position. This is tested
1177         by float-from-empty-line.html.
1178         (WebCore::RenderBlock::checkFloatsInCleanLine): Factored out code from determineStartPosition()
1179         into this new function.
1180         (WebCore::RenderBlock::determineStartPosition): Call checkFloatsInCleanLine().
1181         (WebCore::RenderBlock::determineEndPosition): When iterating over lines, check clean lines with
1182         floats, as they may yet become dirty because of the floats. This is tested by
1183         dirty-float-in-clean-line.html.
1184         (WebCore::RenderBlock::findNextLineBreak): If a float fits on the line, and the current line
1185         break is at the float, advance it to after the float. Otherwise, if the line gets dirty and the
1186         next one does not, the float will not make it into any line. This is tested by
1187         float-at-line-break.html.
1188
1189 2011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
1190
1191         Reviewed by Kent Tamura.
1192
1193         selectionStart reports wrong caret position when the last characters are newlines
1194         https://bugs.webkit.org/show_bug.cgi?id=56061
1195
1196         The bug was caused by SelectionController::setSelection's not calling
1197         notifyRendererOfSelectionChange when old selection was equal to new selection.
1198
1199         Because InsertLineBreakCommand inserts a text node with a single LF before the caret,
1200         this condition holds after the command is executed. However, the values of
1201         selectionStart and selectionEnd still need to be updated in this case because
1202         the offsets counted from the beginning of textarea have been increased by 1.
1203
1204         * editing/SelectionController.cpp:
1205         (WebCore::SelectionController::setSelection): Call notifyRendererOfSelectionChange
1206         when m_selection = s.
1207         * manual-tests/selection-start-after-inserting-line-break-in-textarea.html: Added.
1208
1209 2011-03-09  Andy Estes  <aestes@apple.com>
1210
1211         Reviewed by Adam Barth.
1212
1213         Bad cast in HTMLTreeBuilder::processStartTag
1214         https://bugs.webkit.org/show_bug.cgi?id=55955
1215
1216         Test: fast/parser/self-closing-foreign-content.html
1217
1218         When the parser encounters an svg or mathml root element, it places the
1219         insertion mode into InForeignContentMode. However, if the root element
1220         is self-closing (e.g. <svg />) then the element is never placed on the
1221         open elements stack. This leaves the parser in an inconsistent state
1222         where it is in InForeignContentMode but no foreign content is in the
1223         open element stack.
1224
1225         * html/parser/HTMLTreeBuilder.cpp:
1226         (WebCore::HTMLTreeBuilder::processStartTagForInBody): If a self-closing
1227         foreign element is inserted into the tree, do not set the insertion
1228         mode to InForeignContentMode.
1229
1230 2011-03-09  Gavin Barraclough  <barraclough@apple.com>
1231
1232         Qt build fix.
1233
1234         * bridge/qt/qt_runtime.cpp:
1235         (JSC::Bindings::convertQVariantToValue):
1236
1237 2011-03-09  Andy Estes  <aestes@apple.com>
1238
1239         Reviewed by Adam Barth.
1240
1241         REGRESSION (r80320): Assertion failure when processing mis-nested foreign content.
1242         https://bugs.webkit.org/show_bug.cgi?id=55982
1243
1244         Test: fast/parser/fragment-foreign-content-misnested.html
1245         
1246         It is a parse error to encounter certain start tags while the parser's
1247         insertion mode is InForeignContentMode (e.g. <br>). In these cases, we
1248         are to pop open elements off the HTMLElementStack until a foreign
1249         content scope marker is encountered. Before the change in r80320 to not
1250         insert a fake HTML element during fragment parsing, said fake HTML
1251         element counted as a foreign content scope marker.
1252         
1253         With r80320, no fake HTML element is inserted and the stack is popped
1254         until empty in cases where no other element claims to be a foreign
1255         content scope marker. Fix this by treating the DocumentFragment as a
1256         foreign content scope marker.
1257
1258         * html/parser/HTMLElementStack.cpp:
1259         (WebCore::HTMLNames::isForeignContentScopeMarker): Take a
1260         ContainerNode* instead of a Element*.
1261         (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker): Pass
1262         topNode() to isForeignContentScopeMarker() instead of top().
1263
1264 2011-03-09  Gavin Barraclough  <barraclough@apple.com>
1265
1266         Reviewed by Darin Adler.
1267
1268         Bug 56041 - RexExp constructor should only accept flags "gim"
1269         We also should be passing the flags around as a bitfield rather than a string,
1270         and should not have redundant, incompatible code for converting the string to a bitfield!
1271
1272         * bindings/js/SerializedScriptValue.cpp:
1273         (WebCore::CloneDeserializer::readTerminal):
1274             - Need to parse flags string back to enum.
1275
1276 2011-03-09  James Robinson  <jamesr@chromium.org>
1277
1278         Reviewed by Kenneth Russell.
1279
1280         [chromium]: Regression - Explicitly copy compositing properties from LayerChromium to CCLayerImpl
1281         https://bugs.webkit.org/show_bug.cgi?id=56021
1282
1283         Initializes the m_doubleSided flag of LayerChromiums to the default
1284         value of true so the back sides of layers without
1285         backface-visibility:hidden are rendered.
1286
1287         Test: compositing/backface-visibility.html
1288
1289         * platform/graphics/chromium/LayerChromium.cpp:
1290         (WebCore::LayerChromium::LayerChromium):
1291
1292 2011-03-09  David Hyatt  <hyatt@apple.com>
1293
1294         Reviewed by Dan Bernstein.
1295
1296         <rdar://problem/9110316> REGRESSION: 'ex' unit broken for vertical text
1297
1298         Fall back to the verticalRightOrientation data when obtaining the x-height for vertically oriented
1299         text. That way we use the same metrics as for horizontal.
1300
1301         This fixes regressions in fast/lists and fast/overflow vertical text tests.
1302
1303         * platform/graphics/mac/SimpleFontDataMac.mm:
1304         (WebCore::SimpleFontData::platformInit):
1305         (WebCore::SimpleFontData::platformBoundsForGlyph):
1306
1307 2011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
1308
1309         Reviewed by Tony Chang.
1310
1311         REGRESSION: crash in nextLinePosition when extending selection forward by line in an empty document
1312         https://bugs.webkit.org/show_bug.cgi?id=56004
1313
1314         The crash was caused by the false assumption that rootEditableElement() or documentElement()
1315         always return non-null pointer. Fixed the bug by adding an early exit.
1316
1317         Test: editing/selection/extend-by-line-in-empty-document.html
1318
1319         * editing/visible_units.cpp:
1320         (WebCore::previousLinePosition):
1321         (WebCore::nextLinePosition):
1322
1323 2011-03-09  Pavel Podivilov  <podivilov@chromium.org>
1324
1325         Reviewed by Pavel Feldman.
1326
1327         Web Inspector: it should be possible to copy stack trace from call stack sidebar pane.
1328         https://bugs.webkit.org/show_bug.cgi?id=56024
1329
1330         * English.lproj/localizedStrings.js:
1331         * inspector/front-end/CallStackSidebarPane.js:
1332         (WebInspector.CallStackSidebarPane):
1333         (WebInspector.CallStackSidebarPane.prototype.update):
1334         (WebInspector.CallStackSidebarPane.prototype._contextMenu):
1335
1336 2011-03-09  David Hyatt  <hyatt@apple.com>
1337
1338         Reviewed by Darin Adler.
1339
1340         Patch FontPlatformDataLinux to properly initialize and copy orientation/text-orientation in all
1341         places.  Make sure text-orientation is specified in the lookups/creation in FontCustomPlatformData
1342         and FontCache.
1343
1344         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1345         (WebCore::FontPlatformData::FontPlatformData):
1346         * platform/graphics/chromium/FontPlatformDataLinux.h:
1347         (WebCore::FontPlatformData::FontPlatformData):
1348
1349 2011-03-09  Steve Block  <steveblock@google.com>
1350
1351         Reviewed by Jeremy Orlow.
1352
1353         JavaNPObject should not use JNI directly
1354         https://bugs.webkit.org/show_bug.cgi?id=56009
1355
1356         We move the JNI code to access a Java object's fields into
1357         a new JavaInstance::getField() method.
1358
1359         No new tests, refactoring only.
1360
1361         * bridge/jni/v8/JavaInstanceV8.cpp:
1362         (JavaInstance::getField):
1363         * bridge/jni/v8/JavaInstanceV8.h:
1364         * bridge/jni/v8/JavaNPObjectV8.cpp:
1365         (JSC::Bindings::JavaNPObjectGetProperty):
1366
1367 2011-03-09  Steve Block  <steveblock@google.com>
1368
1369         Reviewed by Jeremy Orlow.
1370
1371         NPAPI - jvalue conversion should not be in JavaInstance
1372         https://bugs.webkit.org/show_bug.cgi?id=55967
1373
1374         No new tests, refactoring only.
1375
1376         * bridge/jni/v8/JavaInstanceV8.cpp:
1377         (JavaInstance::invokeMethod):
1378         * bridge/jni/v8/JavaInstanceV8.h:
1379         * bridge/jni/v8/JavaNPObjectV8.cpp:
1380         (JSC::Bindings::JavaNPObjectInvoke):
1381
1382 2011-03-09  Jessie Berlin  <jberlin@apple.com>
1383
1384         Reviewed by Adam Roben.
1385
1386         Use the Cookie Storage from the Private Browsing Storage Session directly
1387         https://bugs.webkit.org/show_bug.cgi?id=55986
1388
1389         * WebCore.exp.in:
1390         * platform/mac/WebCoreSystemInterface.h:
1391         * platform/mac/WebCoreSystemInterface.mm:
1392
1393         * platform/network/mac/CookieStorageMac.mm:
1394         (WebCore::setCookieStoragePrivateBrowsingEnabled):
1395         Just copy the cookie storage from the private browsing storage session.
1396         * platform/network/cf/CookieStorageCFNet.cpp:
1397         (WebCore::setCookieStoragePrivateBrowsingEnabled):
1398         Ditto.
1399
1400 2011-03-09  Andrey Kosyakov  <caseq@chromium.org>
1401
1402         Unreviewed. Fixed a crash in InspectorInstrumentation::didReceiveResponse() when loader is null (broken in r80639)
1403
1404         * inspector/InspectorInstrumentation.cpp:
1405         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1406
1407 2011-03-09  Yury Semikhatsky  <yurys@chromium.org>
1408
1409         Reviewed by Pavel Feldman.
1410
1411         Web Inspector: pass explicit agent references to InspectorBackendDispatcher
1412         https://bugs.webkit.org/show_bug.cgi?id=55820
1413
1414         * inspector/CodeGeneratorInspector.pm:
1415         * inspector/InspectorController.cpp:
1416         (WebCore::InspectorController::InspectorController):
1417         (WebCore::InspectorController::connectFrontend):
1418         (WebCore::InspectorController::disconnectFrontend):
1419         (WebCore::InspectorController::dispatchMessageFromFrontend):
1420
1421 2011-03-09  Andrey Kosyakov  <caseq@chromium.org>
1422
1423         Reviewed by Pavel Feldman.
1424
1425         Web Inspector: resource errors are not reported before front-end is opened
1426         https://bugs.webkit.org/show_bug.cgi?id=55939
1427
1428         * inspector/InspectorInstrumentation.cpp:
1429         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1430         * inspector/InspectorInstrumentation.h:
1431         (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
1432         (WebCore::InspectorInstrumentation::didFailLoading):
1433
1434 2011-03-08  Hans Wennborg  <hans@chromium.org>
1435
1436         Reviewed by Jeremy Orlow.
1437
1438         IndexedDB: Add BackingStoreType parameter to IDBFactoryBackendInterface::open
1439         https://bugs.webkit.org/show_bug.cgi?id=55948
1440
1441         Add a parameter that allows for selection of alternative backing store
1442         implementations.
1443
1444         No new tests: no new functionality.
1445
1446         * storage/IDBFactory.cpp:
1447         (WebCore::IDBFactory::open):
1448         * storage/IDBFactoryBackendImpl.cpp:
1449         (WebCore::IDBFactoryBackendImpl::open):
1450         * storage/IDBFactoryBackendImpl.h:
1451         * storage/IDBFactoryBackendInterface.h:
1452
1453 2011-03-08  Steve Block  <steveblock@google.com>
1454
1455         Reviewed by Jeremy Orlow.
1456
1457         Factor out JNI method call to be used by both JSC and V8
1458         https://bugs.webkit.org/show_bug.cgi?id=55966
1459
1460         No new tests, refactoring only.
1461
1462         * bridge/jni/JNIUtility.cpp:
1463         (JSC::Bindings::callJNIMethod):
1464         * bridge/jni/JNIUtility.h:
1465         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1466         (JavaInstance::invokeMethod):
1467         * bridge/jni/v8/JavaInstanceV8.cpp:
1468         (JavaInstance::invokeMethod):
1469
1470 2011-03-09  Andrey Adaikin  <aandrey@google.com>
1471
1472         Reviewed by Pavel Feldman.
1473
1474         Web Inspector: [Text editor] Regression in handling DOMNodeInserted/DOMNodeRemoved events
1475         https://bugs.webkit.org/show_bug.cgi?id=55818
1476
1477         * inspector/front-end/TextViewer.js:
1478         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1479
1480 2011-03-09  Ilya Tikhonovsky  <loislo@chromium.org>
1481
1482         Reviewed by Yury Semikhatsky.
1483
1484         Web Inspector: Web Inspector: we don't need to transfer objectId and hasChildren for primitive values.
1485         https://bugs.webkit.org/show_bug.cgi?id=55998
1486
1487         * inspector/InjectedScriptSource.js:
1488
1489 2011-03-09  Pavel Feldman  <pfeldman@chromium.org>
1490
1491         Reviewed by Yury Semikhatsky.
1492
1493         Web Inspector: watch expressions should show string values in quotes.
1494         https://bugs.webkit.org/show_bug.cgi?id=55846
1495
1496         * inspector/InjectedScriptSource.js:
1497         * inspector/front-end/ObjectPropertiesSection.js:
1498         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1499         * inspector/front-end/RemoteObject.js:
1500         (WebInspector.LocalJSONObject.prototype.get description):
1501         * inspector/front-end/WatchExpressionsSidebarPane.js:
1502         (WebInspector.WatchExpressionsSection.prototype.update):
1503         * inspector/front-end/inspector.css:
1504         (.console-formatted-string, .console-formatted-regexp):
1505
1506 2011-03-09  Pavel Feldman  <pfeldman@chromium.org>
1507
1508         Reviewed by Yury Semikhatsky.
1509
1510         Web Inspector: "length" getter is invoked upon console object formatting.
1511         https://bugs.webkit.org/show_bug.cgi?id=55220
1512
1513         * inspector/InjectedScriptSource.js:
1514
1515 2011-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
1516
1517         Reviewed by Pavel Feldman.
1518
1519         Web Inspector: remove groupName from objectId.
1520         https://bugs.webkit.org/show_bug.cgi?id=55825
1521
1522         * inspector/InjectedScriptSource.js:
1523
1524 2011-03-08  Xiaomei Ji  <xji@chromium.org>
1525
1526         Reviewed by David Hyatt.
1527
1528         Fix Regression: Content not drawn when scrolling horizontally in an RTL page.
1529         https://bugs.webkit.org/show_bug.cgi?id=55077.
1530
1531         Inside ScrollView::calculateOverhangAreasForPainting(), when scroll position
1532         is negative, should include the position value into overhang rectangle's 
1533         starting position. 
1534
1535         Tests: fast/dom/scroll-reveal-left-overflow.html
1536                fast/dom/scroll-reveal-top-overflow.html
1537
1538         * platform/ScrollView.cpp:
1539         (WebCore::ScrollView::calculateOverhangAreasForPainting):
1540
1541 2011-03-08  Daniel Bates  <dbates@rim.com>
1542
1543         Reviewed by Darin Adler.
1544
1545         Add templatized CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}()
1546         https://bugs.webkit.org/show_bug.cgi?id=55351
1547
1548         By using some template magic CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}()
1549         can be called on an array A without the caller explicitly specifying the size of A.
1550
1551         No functionality was changed. So no new tests.
1552
1553         * css/CSSMutableStyleDeclaration.cpp:
1554         (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Modified to call templatized variants of
1555         CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}().
1556         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Renamed second argument from "number" to "size"
1557         to better reflect its purpose - to be the size of the passed array.
1558         (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Ditto.
1559         (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto.
1560         (WebCore::CSSMutableStyleDeclaration::cssText): Modified to call templatized variant of CSSMutableStyleDeclaration::getShorthandValue().
1561         * css/CSSMutableStyleDeclaration.h:
1562         (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Added templatized function that can determine
1563         the size of a passed array. Changed type of second argument to size_t since it represents the size of
1564         an array.
1565         (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto.
1566         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Ditto.
1567
1568 2011-03-08  Enrica Casucci  <enrica@apple.com>
1569
1570         Reviewed by Darin Adler.
1571         
1572         REGRESSION: Copied content loses formatting on paste to external apps.
1573         https://bugs.webkit.org/show_bug.cgi?id=47615
1574         <rdar://problem/9001214>
1575         
1576         This is a resubmission of a patch that was landed a while ago then rolled
1577         back because of a build failure on SnowLeopard and Leopard on the 32-bit builds.
1578
1579         This patch adds a way for WebKit2 to create NSAttributedStrings from
1580         a DOM range without using the AppKit api initWithDOMRange that internally
1581         needs to access the WebView. The NSAttributedString is needed to create
1582         RTF formats in the pasteboard.
1583         This is to be considered a first step, since in the future we want to have
1584         an implementation based on the TextIterator.
1585         * WebCore.xcodeproj/project.pbxproj:
1586         * platform/mac/HTMLConverter.h: Added.
1587         * platform/mac/HTMLConverter.mm: Added.
1588         * platform/mac/PasteboardMac.mm:
1589         (WebCore::Pasteboard::writeSelection):
1590
1591 2011-03-08  James Robinson  <jamesr@chromium.org>
1592
1593         Reviewed by Kenneth Russell.
1594
1595         [chromium] Explicitly copy compositing properties from LayerChromium to CCLayerImpl
1596         https://bugs.webkit.org/show_bug.cgi?id=55900
1597
1598         This adds an explicit step to synchronize properties from
1599         LayerChromiums to their corresponding CCLayerImpls.
1600
1601         * platform/graphics/chromium/LayerChromium.cpp:
1602         (WebCore::LayerChromium::setBounds):
1603         * platform/graphics/chromium/LayerChromium.h:
1604         (WebCore::LayerChromium::bounds):
1605         (WebCore::LayerChromium::doubleSided):
1606         (WebCore::LayerChromium::setDoubleSided):
1607         * platform/graphics/chromium/LayerRendererChromium.cpp:
1608         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1609         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1610         (WebCore::CCLayerImpl::CCLayerImpl):
1611         (WebCore::CCLayerImpl::updateFromLayer):
1612         (WebCore::CCLayerImpl::descendantsDrawsContent):
1613         * platform/graphics/chromium/cc/CCLayerImpl.h:
1614         (WebCore::CCLayerImpl::anchorPoint):
1615         (WebCore::CCLayerImpl::anchorPointZ):
1616         (WebCore::CCLayerImpl::masksToBounds):
1617         (WebCore::CCLayerImpl::opacity):
1618         (WebCore::CCLayerImpl::position):
1619         (WebCore::CCLayerImpl::preserves3D):
1620         (WebCore::CCLayerImpl::sublayerTransform):
1621         (WebCore::CCLayerImpl::transform):
1622
1623 2011-03-08  James Robinson  <jamesr@chromium.org>
1624
1625         Chromium compile fix.
1626
1627         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1628         (WebCore::SimpleFontData::platformInit):
1629
1630 2011-03-08  Peter Kasting  <pkasting@google.com>
1631
1632         Reviewed by James Robinson.
1633
1634         Unify Windows version checks, part 1.
1635         https://bugs.webkit.org/show_bug.cgi?id=55979
1636
1637         Make everyone (I hope) pull in SystemInfo.cpp.  Eliminate the
1638         now-unnecessary WindowsVersion.cpp from Chromium.
1639
1640         * GNUmakefile.am:
1641         * WebCore.gyp/WebCore.gyp:
1642         * WebCore.gypi:
1643         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1644         (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
1645         (WebCore::ScrollbarThemeChromiumWin::getThemeState):
1646         (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
1647         * platform/chromium/WindowsVersion.cpp: Removed.
1648         * platform/chromium/WindowsVersion.h: Removed.
1649         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1650         (WebCore::fillBMPGlyphs):
1651         * rendering/RenderThemeChromiumWin.cpp:
1652         (WebCore::getNonClientMetrics):
1653
1654 2011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
1655
1656         Chromium Linux build fix attempt after r80582.
1657
1658         * platform/graphics/chromium/FontLinux.cpp:
1659         (WebCore::Font::drawGlyphs):
1660         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1661         (WebCore::SimpleFontData::platformInit):
1662         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
1663         (WebCore::GlyphPage::fill):
1664
1665 2011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
1666
1667         Mac build fix attempt for r80582.
1668
1669         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1670         (WebCore::disableLigatures):
1671
1672 2011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
1673
1674         Reviewed by Kent Tamura.
1675
1676         Remove calls to deprecatedEditingOffset in SelectionController and VisibleSelection
1677         https://bugs.webkit.org/show_bug.cgi?id=54937
1678
1679         * editing/SelectionController.cpp:
1680         (WebCore::SelectionController::setSelection): Calls anchorNode() instead of deprecatedNode() to obtain
1681         the document. Also restrained the lifetime of document variable.
1682         (WebCore::removingNodeRemovesPosition): Compare the node with anchorNode() instead of deprecatedNode()
1683         to determine whether or not position becomes null after removing a node.
1684         (WebCore::SelectionController::directionOfEnclosingBlock): The enclosing block is always a container
1685         so call containerNode() instead of deprecatedNode().
1686         (WebCore::SelectionController::debugRenderer): Call containerNode() and computeOffsetInContainer()
1687         instead of deprecatedNode() and deprecatedEditingOffset() respectively.
1688         (WebCore::SelectionController::isInPasswordField): Look for the shadow root from containerNode()
1689         instead of deprecatedNode to determine whether or not selection inside a password field. Also assert
1690         that the specified position is not before or after the shadow root as it violates our assumption.
1691         * editing/VisibleSelection.cpp:
1692         (WebCore::makeSearchRange): Call containerNode() and offsetInContainerNode() instead of deprecatedNode()
1693         and deprecatedEditingOffset() respectively because start is always parent anchored and therefore
1694         guaranteed to be an offset inside an anchor node.
1695         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Call containerNode()
1696         instead of deprecatedNode() to look for the lowest editable ancestor because position before or after
1697         an editable element isn't editable.
1698         * page/DOMSelection.cpp: Call containerNode() and offsetInContainerNode() instead of deprecatedNode()
1699         and deprecatedEditingOffset() respectively in the following functions because they are exposed to
1700         DOM, which doesn't have before/after concept.
1701         (WebCore::DOMSelection::anchorNode):
1702         (WebCore::DOMSelection::anchorOffset):
1703         (WebCore::DOMSelection::focusNode):
1704         (WebCore::DOMSelection::focusOffset):
1705         (WebCore::DOMSelection::baseNode):
1706         (WebCore::DOMSelection::baseOffset):
1707         (WebCore::DOMSelection::extentNode):
1708         (WebCore::DOMSelection::extentOffset):
1709
1710 2011-03-08  Brent Fulgham  <bfulgham@webkit.org>
1711
1712         Reviewed by Adam Roben.
1713
1714         Correct uninitialized variable in PolicyCallback found while
1715         running WebKit in BoundsChecker.
1716         https://bugs.webkit.org/show_bug.cgi?id=45199.
1717
1718         * loader/PolicyCallback.cpp:
1719         (WebCore::PolicyCallback::PolicyCallback): Initialize
1720         m_argument.
1721
1722 2011-03-08  Brent Fulgham  <bfulgham@webkit.org>
1723
1724         More build bustage fix.
1725
1726         * platform/graphics/win/cairo/FontPlatformData.h:
1727         (WebCore::FontPlatformData::setOrientation): Duplicate accessor
1728         in WinCairo-local header.  This is such a mess!
1729
1730 2011-03-08  David Hyatt  <hyatt@apple.com>
1731
1732         Fix build bustage.  Hide orientation setting behind a setter and stub it out in all
1733         FontPlatformData classes.  (This class really needs to move to a common header with ifdefs.)
1734
1735         * platform/graphics/SimpleFontData.cpp:
1736         (WebCore::SimpleFontData::verticalRightOrientationFontData):
1737         * platform/graphics/cg/FontPlatformData.h:
1738         (WebCore::FontPlatformData::setOrientation):
1739         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1740         (WebCore::FontPlatformData::setOrientation):
1741         * platform/graphics/chromium/FontPlatformDataLinux.h:
1742         (WebCore::FontPlatformData::setOrientation):
1743         * platform/graphics/cocoa/FontPlatformData.h:
1744         (WebCore::FontPlatformData::setOrientation):
1745         * platform/graphics/freetype/FontPlatformData.h:
1746         (WebCore::FontPlatformData::setOrientation):
1747         * platform/graphics/qt/FontPlatformData.h:
1748         (WebCore::FontPlatformData::setOrientation):
1749         * platform/graphics/wince/FontPlatformData.h:
1750         (WebCore::FontPlatformData::setOrientation):
1751         * platform/graphics/wx/FontPlatformData.h:
1752         (WebCore::FontPlatformData::setOrientation):
1753
1754 2011-03-08  Joe Wild  <joseph.wild@nokia.com>
1755
1756         Reviewed by Csaba Osztrogon√°c.
1757
1758         [Qt] Missing SVG variables
1759         https://bugs.webkit.org/show_bug.cgi?id=32941
1760
1761         Basically, this patch just modifies features.pri to the Qt build to
1762         pass on the ENABLE_SVG_* flags to the IDL binding generator.
1763
1764         Also I had remove global-construtors.html from the skip list and
1765         updated the associated expected results files.
1766
1767         * features.pri:
1768         * page/DOMWindow.idl:
1769
1770 2011-03-08  Alok priyadarshi  <alokp@chromium.org>
1771
1772         Reviewed by Dimitri Glazkov.
1773
1774         Plugins needs a way to trigger style recalc
1775         https://bugs.webkit.org/show_bug.cgi?id=55242
1776
1777         No test needed. A simple get function is added.
1778
1779         * platform/graphics/chromium/PluginLayerChromium.h:
1780         (WebCore::PluginLayerChromium::getTextureId):
1781
1782 2011-03-08  David Hyatt  <hyatt@apple.com>
1783
1784         Reviewed by Dan Bernstein.
1785
1786         https://bugs.webkit.org/show_bug.cgi?id=48540, support the text-orientation CSS property.
1787         
1788         This patch adds support for two values of the text-orientation property (the ones that actually matter): vertical-right and upright.
1789         The TextOrientation is part of the FontDescription and used to look up fonts (similar to FontOrientation).
1790         
1791         Orientation of non-CJK characters is done using fallback font data of the appropriate orientation type, e.g., verticalRightOrientation and
1792         uprightOrientation fallback font data.  Vertical right is just implemented as a normal horizontal font.  Upright is implemented as a
1793         vertically oriented font that rotates all glyphs.
1794         
1795         The main complication implementing text-orientation is that fonts have "baked-in" vertical glyphs for letters that are hardcoded to
1796         a vertical right facing.  This means that you can use those special vertical glyphs for vertical-right orientation without having to 
1797         fall back, but then for upright orientation you have to ignore them and still fall back.  As you can see from the test case, this doesn't
1798         work very well, but hopefully it won't be all that common.  Limitations of CoreText prevent this case from rendering properly in either the
1799         simple or complex code paths, although the simple code path at least gets close.
1800
1801         Added fast/blockflow/text-orientation-basic.html
1802
1803         * WebCore.exp.in:
1804         * WebCore.xcodeproj/project.pbxproj:
1805         * css/CSSComputedStyleDeclaration.cpp:
1806         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1807         * css/CSSFontFaceSource.cpp:
1808         (WebCore::CSSFontFaceSource::getFontData):
1809         * css/CSSParser.cpp:
1810         (WebCore::CSSParser::parseValue):
1811         * css/CSSPrimitiveValueMappings.h:
1812         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1813         (WebCore::CSSPrimitiveValue::operator TextOrientation):
1814         * css/CSSPropertyNames.in:
1815         * css/CSSStyleSelector.cpp:
1816         (WebCore::CSSStyleSelector::applyDeclarations):
1817         (WebCore::CSSStyleSelector::applyProperty):
1818         * css/CSSValueKeywords.in:
1819         * loader/cache/CachedFont.cpp:
1820         (WebCore::CachedFont::platformDataFromCustomData):
1821         * loader/cache/CachedFont.h:
1822         * platform/graphics/FontCache.cpp:
1823         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
1824         (WebCore::FontPlatformDataCacheKey::operator==):
1825         (WebCore::computeHash):
1826         (WebCore::FontCache::getCachedFontPlatformData):
1827         * platform/graphics/FontDescription.h:
1828         (WebCore::FontDescription::FontDescription):
1829         (WebCore::FontDescription::textOrientation):
1830         (WebCore::FontDescription::setTextOrientation):
1831         (WebCore::FontDescription::operator==):
1832         * platform/graphics/FontFastPath.cpp:
1833         (WebCore::Font::glyphDataForCharacter):
1834         (WebCore::offsetToMiddleOfGlyph):
1835         * platform/graphics/SimpleFontData.cpp:
1836         (WebCore::SimpleFontData::SimpleFontData):
1837         (WebCore::SimpleFontData::verticalRightOrientationFontData):
1838         (WebCore::SimpleFontData::uprightOrientationFontData):
1839         (WebCore::SimpleFontData::brokenIdeographFontData):
1840         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
1841         * platform/graphics/SimpleFontData.h:
1842         (WebCore::SimpleFontData::hasVerticalGlyphs):
1843         (WebCore::SimpleFontData::isTextOrientationFallback):
1844         * platform/graphics/cairo/FontCustomPlatformData.h:
1845         * platform/graphics/cocoa/FontPlatformData.h:
1846         (WebCore::FontPlatformData::FontPlatformData):
1847         (WebCore::FontPlatformData::textOrientation):
1848         (WebCore::FontPlatformData::hash):
1849         (WebCore::FontPlatformData::operator==):
1850         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1851         (WebCore::FontPlatformData::FontPlatformData):
1852         (WebCore::FontPlatformData::operator=):
1853         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
1854         (WebCore::FontCustomPlatformData::fontPlatformData):
1855         * platform/graphics/haiku/FontCustomPlatformData.cpp:
1856         (WebCore::FontCustomPlatformData::fontPlatformData):
1857         * platform/graphics/haiku/FontCustomPlatformData.h:
1858         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1859         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
1860         * platform/graphics/mac/FontCacheMac.mm:
1861         (WebCore::FontCache::createFontPlatformData):
1862         * platform/graphics/mac/FontCustomPlatformData.cpp:
1863         (WebCore::FontCustomPlatformData::fontPlatformData):
1864         * platform/graphics/mac/FontCustomPlatformData.h:
1865         * platform/graphics/mac/FontMac.mm:
1866         (WebCore::showGlyphsWithAdvances):
1867         (WebCore::Font::drawGlyphs):
1868         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
1869         (WebCore::shouldUseCoreText):
1870         (WebCore::GlyphPage::fill):
1871         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
1872         (WebCore::SimpleFontData::getCFStringAttributes):
1873         * platform/graphics/mac/SimpleFontDataMac.mm:
1874         (WebCore::SimpleFontData::platformInit):
1875         (WebCore::SimpleFontData::platformBoundsForGlyph):
1876         (WebCore::SimpleFontData::platformWidthForGlyph):
1877         * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
1878         (WebCore::FontCustomPlatformData::fontPlatformData):
1879         * platform/graphics/qt/FontCustomPlatformData.h:
1880         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
1881         (WebCore::FontCustomPlatformData::fontPlatformData):
1882         * platform/graphics/skia/FontCustomPlatformData.cpp:
1883         (WebCore::FontCustomPlatformData::fontPlatformData):
1884         * platform/graphics/skia/FontCustomPlatformData.h:
1885         * platform/graphics/win/FontCustomPlatformData.cpp:
1886         (WebCore::FontCustomPlatformData::fontPlatformData):
1887         * platform/graphics/win/FontCustomPlatformData.h:
1888         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1889         (WebCore::FontCustomPlatformData::fontPlatformData):
1890         * platform/graphics/win/FontCustomPlatformDataCairo.h:
1891         * platform/graphics/wince/FontCustomPlatformData.cpp:
1892         (WebCore::FontCustomPlatformData::fontPlatformData):
1893         * platform/graphics/wince/FontCustomPlatformData.h:
1894         * platform/text/TextOrientation.h: Added.
1895         * rendering/InlineFlowBox.cpp:
1896         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
1897         * rendering/style/RenderStyle.h:
1898         (WebCore::InheritedFlags::initialTextOrientation):
1899
1900 2011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
1901
1902         Reviewed by Darin Adler.
1903
1904         addInlineStyleIfNeeded should take EditingStyle
1905         https://bugs.webkit.org/show_bug.cgi?id=55950
1906
1907         Deployed EditingStyle in addInlineStyleIfNeeded, StyleChange::StyleChange, and StyleChange::init.
1908         Also extracted EditingStyle::styleIsPresentInComputedStyleOfNode from removeStyleFromRunBeforeApplyingStyle.
1909
1910         * editing/ApplyStyleCommand.cpp:
1911         (WebCore::StyleChange::StyleChange): Takes EditingStyle instead of CSSStyleDeclaration.
1912         (WebCore::StyleChange::init): Ditto.
1913         (WebCore::ApplyStyleCommand::applyBlockStyle): Instantiates StyleChange.
1914         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Calls addInlineStyleIfNeeded.
1915         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls styleIsPresentInComputedStyleOfNode.
1916         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls EditingStyle::mergeInlineStyleOfElement
1917         instead of manually merging styles.
1918         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Calls addInlineStyleIfNeeded.
1919         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Takes EditingStyle instead of CSSMutableStyleDeclaration.
1920         * editing/ApplyStyleCommand.h:
1921         * editing/CompositeEditCommand.h:
1922         * editing/EditingStyle.cpp:
1923         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): Extracted from removeStyleFromRunBeforeApplyingStyle.
1924         * editing/EditingStyle.h:
1925
1926 2011-03-08  Nico Weber  <thakis@chromium.org>
1927
1928         Reviewed by James Robinson.
1929
1930         Crash on big blur radius with canvas
1931         https://bugs.webkit.org/show_bug.cgi?id=55951
1932
1933         Move the clamping code out of an if branch, so that it happens in the
1934         canvas case as well.
1935
1936         Test: fast/canvas/shadow-huge-blur.html
1937
1938         * platform/graphics/cg/GraphicsContextCG.cpp:
1939         (WebCore::GraphicsContext::setPlatformShadow):
1940
1941 2011-03-08  Chris Fleizach  <cfleizach@apple.com>
1942
1943         Reviewed by Sam Weinig.
1944
1945         WK2: Cannot set focus on an element when focus is outside of WKView
1946         https://bugs.webkit.org/show_bug.cgi?id=55281
1947     
1948         In WK2, focus cannot be set from the WebProcess side because there's no platformWidget().
1949         Instead, the focus/unfocus messages need to be sent to the UIProcess side.
1950
1951         * platform/mac/WidgetMac.mm:
1952         (WebCore::Widget::setFocus):
1953
1954 2011-03-08  Sam Weinig  <sam@webkit.org>
1955
1956         Reviewed by Anders Carlsson.
1957
1958         Overflow: scroll areas should not paint white in scroll corner if the 
1959         scrollbars are overlay.
1960         <rdar://problem/9082871>
1961
1962         * rendering/RenderLayer.cpp:
1963         (WebCore::RenderLayer::paintScrollCorner):
1964         Don't paint the scroll corner white if we have overlay scrollbars.
1965
1966 2011-03-08  Chris Marrin  <cmarrin@apple.com>
1967
1968         Reviewed by Darin Adler.
1969
1970         The first time animations are committed they have a bad start time
1971         https://bugs.webkit.org/show_bug.cgi?id=55947
1972
1973         Do a check for a returned lastCommitTime of <=0 and replace it
1974         with the mediaTime.
1975
1976
1977         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
1978         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
1979
1980 2011-03-08  James Kozianski  <koz@chromium.org>
1981
1982         Reviewed by David Levin.
1983
1984         Expose isValidProtocol() in KURL.h.
1985         https://bugs.webkit.org/show_bug.cgi?id=54594
1986
1987         This is needed to validate protocols used in calls to
1988         navigator.registerProtocolHandler().
1989
1990         * platform/KURL.cpp:
1991         * platform/KURL.h:
1992         * platform/KURLGoogle.cpp:
1993         (WebCore::isValidProtocol):
1994
1995 2011-03-08  Adam Roben  <aroben@apple.com>
1996
1997         Set svn:mime-type to text/css for all Inspector CSS files
1998
1999         This will cause them to be served with the correct MIME type from svn.webkit.org's web
2000         interface.
2001
2002         Rubber-stamped by Tim Hatcher.
2003
2004         * inspector/front-end/audits.css: Added property svn:mime-type.
2005         * inspector/front-end/goToLineDialog.css: Added property svn:mime-type.
2006         * inspector/front-end/heapProfiler.css: Added property svn:mime-type.
2007         * inspector/front-end/helpScreen.css: Added property svn:mime-type.
2008         * inspector/front-end/inspector.css: Added property svn:mime-type.
2009         * inspector/front-end/inspectorSyntaxHighlight.css: Added property svn:mime-type.
2010         * inspector/front-end/networkPanel.css: Added property svn:mime-type.
2011         * inspector/front-end/popover.css: Added property svn:mime-type.
2012         * inspector/front-end/textViewer.css: Added property svn:mime-type.
2013
2014 2011-03-08  Andrei Popescu  <andreip@google.com>
2015
2016         Reviewed by Steve Block.
2017
2018         IDBCallbacks::onsuccess(IDBIndex*) is unused and should be removed.
2019         https://bugs.webkit.org/show_bug.cgi?id=55938
2020
2021         The IndexedDatabase specification changed and IDBIndex objects are no
2022         longer created asynchronously. We therefore no longer need this method.
2023
2024         No new tests, just cleanup.
2025
2026         * storage/IDBCallbacks.h:
2027         * storage/IDBRequest.cpp:
2028         * storage/IDBRequest.h:
2029
2030 2011-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2031
2032         Unreviewed, rolling out r80551.
2033         http://trac.webkit.org/changeset/80551
2034         https://bugs.webkit.org/show_bug.cgi?id=55933
2035
2036         It broke 285 tests on Qt bot (Requested by Ossy on #webkit).
2037
2038         * WebCore.pro:
2039         * platform/SharedBuffer.cpp:
2040         * platform/SharedBuffer.h:
2041         * platform/network/qt/QNetworkReplyHandler.cpp:
2042         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2043         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2044         (WebCore::QNetworkReplyHandler::forwardData):
2045         (WebCore::QNetworkReplyHandler::start):
2046         * platform/network/qt/QNetworkReplyHandler.h:
2047         * platform/network/qt/ResourceHandleQt.cpp:
2048         (WebCore::ResourceHandle::supportsBufferedData):
2049         (WebCore::ResourceHandle::bufferedData):
2050         * platform/qt/QtByteBlock.cpp: Removed.
2051         * platform/qt/QtByteBlock.h: Removed.
2052         * platform/qt/SharedBufferQt.cpp:
2053
2054 2011-03-08  Andreas Kling  <kling@webkit.org>
2055
2056         Reviewed by Benjamin Poulain.
2057
2058         RenderObject: Pass complex type arguments as const-references.
2059
2060         * WebCore.exp.in:
2061         * rendering/RenderObject.h:
2062         * rendering/RenderObject.cpp:
2063         (WebCore::RenderObject::drawBoxSideFromPath):
2064         (WebCore::RenderObject::drawArcForBoxSide):
2065         (WebCore::RenderObject::localToAbsolute):
2066         (WebCore::RenderObject::absoluteToLocal):
2067
2068 2011-03-08  Andreas Kling  <kling@webkit.org>
2069
2070         Reviewed by Antonio Gomes.
2071
2072         Path: Make measurement functions const
2073         https://bugs.webkit.org/show_bug.cgi?id=55914
2074
2075         * platform/graphics/Path.cpp:
2076         (WebCore::Path::length):
2077         (WebCore::Path::pointAtLength):
2078         (WebCore::Path::normalAngleAtLength):
2079         * platform/graphics/Path.h:
2080         * platform/graphics/cairo/PathCairo.cpp:
2081         (WebCore::Path::strokeBoundingRect):
2082         * platform/graphics/cg/PathCG.cpp:
2083         (WebCore::Path::strokeBoundingRect):
2084         * platform/graphics/openvg/PathOpenVG.cpp:
2085         (WebCore::Path::strokeBoundingRect):
2086         (WebCore::Path::length):
2087         (WebCore::Path::pointAtLength):
2088         (WebCore::Path::normalAngleAtLength):
2089         * platform/graphics/qt/PathQt.cpp:
2090         (WebCore::Path::strokeBoundingRect):
2091         (WebCore::Path::length):
2092         (WebCore::Path::pointAtLength):
2093         (WebCore::Path::normalAngleAtLength):
2094         * platform/graphics/skia/PathSkia.cpp:
2095         (WebCore::Path::strokeBoundingRect):
2096         * platform/graphics/wince/PathWinCE.cpp:
2097         (WebCore::Path::strokeBoundingRect):
2098         * platform/graphics/wx/PathWx.cpp:
2099         (WebCore::Path::strokeBoundingRect):
2100
2101 2011-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2102
2103         Reviewed by Martin Robinson.
2104
2105         [GTK] Do not set juntion sides on scrollbar stepper buttons
2106         https://bugs.webkit.org/show_bug.cgi?id=55868
2107
2108         Fixes rendering of steppers for themes using rounded stepper
2109         buttons on scrollbars like Adwaita.
2110
2111         * platform/gtk/ScrollbarThemeGtk3.cpp:
2112         (WebCore::ScrollbarThemeGtk::paintButton):
2113
2114 2011-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2115
2116         Reviewed by Martin Robinson.
2117
2118         [GTK] Use doubles instead of integers for coordinates when rendering arrows
2119         https://bugs.webkit.org/show_bug.cgi?id=55866
2120
2121         To prevent off-by-one rounding errors.
2122
2123         * platform/gtk/RenderThemeGtk3.cpp:
2124         (WebCore::RenderThemeGtk::paintMenuList):
2125         * platform/gtk/ScrollbarThemeGtk3.cpp:
2126         (WebCore::ScrollbarThemeGtk::paintButton):
2127
2128 2011-03-08  Markus Goetz  <guruz@guruz.de>
2129
2130         Reviewed by Kenneth Rohde Christiansen.
2131
2132         [Qt] Use the QNetworkAccessManager zerocopy feature
2133         https://bugs.webkit.org/show_bug.cgi?id=50082
2134
2135         The feature will be introduced in Qt 4.8.
2136         This patch is backwards compatible with Qt 4.7.
2137
2138         * WebCore.pro:
2139         * platform/SharedBuffer.cpp:
2140         * platform/SharedBuffer.h:
2141         * platform/network/qt/QNetworkReplyHandler.cpp:
2142         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2143         (WebCore::QNetworkReplyHandler::bufferedData):
2144         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2145         (WebCore::QNetworkReplyHandler::downloadProgress):
2146         (WebCore::QNetworkReplyHandler::forwardData):
2147         (WebCore::QNetworkReplyHandler::start):
2148         * platform/network/qt/QNetworkReplyHandler.h:
2149         * platform/network/qt/ResourceHandleQt.cpp:
2150         (WebCore::ResourceHandle::supportsBufferedData):
2151         (WebCore::ResourceHandle::bufferedData):
2152         * platform/qt/SharedBufferQt.cpp:
2153         (WebCore::SharedBuffer::wrapQtByteBlock):
2154         (WebCore::SharedBuffer::hasPlatformData):
2155         (WebCore::SharedBuffer::platformData):
2156         (WebCore::SharedBuffer::platformDataSize):
2157         (WebCore::SharedBuffer::maybeTransferPlatformData):
2158         (WebCore::SharedBuffer::clearPlatformData):
2159
2160 2011-03-08  Alejandro G. Castro  <alex@igalia.com>
2161
2162         Reviewed by Martin Robinson.
2163
2164         [GTK] Fix compilation warnings after r80429
2165         https://bugs.webkit.org/show_bug.cgi?id=55864
2166
2167         * platform/gtk/WidgetGtk.cpp:
2168
2169 2011-03-08  Philippe Normand  <pnormand@igalia.com>
2170
2171         Unreviewed, GTK build fix after r80536
2172
2173         * GNUmakefile.am:
2174
2175 2011-03-08  Zan Dobersek  <zandobersek@gmail.com>
2176
2177         Reviewed by Martin Robinson.
2178
2179         [Gtk] toDataURL uses incorrect quality value when saving GdkPixbuf to buffer
2180         https://bugs.webkit.org/show_bug.cgi?id=55878
2181
2182         Multiply the quality parameter by 100 to put it in the range [0, 100] as needed
2183         when saving GdkPixbuf to a buffer.
2184
2185         * platform/graphics/gtk/ImageBufferGtk.cpp:
2186         (WebCore::ImageBuffer::toDataURL):
2187
2188 2011-03-07  Daniel Cheng  <dcheng@chromium.org>
2189
2190         Unreviewed.
2191
2192         Final build fix for r80536.
2193
2194         * DerivedSources.make:
2195
2196 2011-03-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2197
2198         Reviewed by Kent Tamura.
2199
2200         [EFL] Adjust functions of WebCore's efl port to WebKit coding style
2201         https://bugs.webkit.org/show_bug.cgi?id=55924
2202
2203         Adjust webkit style to PlatformKeyboardEventEfl, PlatformMouseEventEfl and WidgetEfl files.
2204
2205         * platform/efl/PlatformKeyboardEventEfl.cpp:
2206         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2207         * platform/efl/PlatformMouseEventEfl.cpp:
2208         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2209         * platform/efl/WidgetEfl.cpp:
2210         (WebCore::Widget::frameRectsChanged):
2211         (WebCore::Widget::setEvasObject):
2212
2213 2011-03-07  Daniel Cheng  <dcheng@chromium.org>
2214
2215         Unreviewed.
2216
2217         More build fixes for r80536.
2218
2219         * CMakeLists.txt:
2220         * platform/chromium/ClipboardChromium.cpp:
2221         * platform/chromium/ClipboardChromium.h:
2222
2223 2011-03-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2224
2225         Reviewed by Antonio Gomes.
2226
2227         [EFL] Adjust functions of ScrollbarEfl.cpp to WebKit coding style
2228         https://bugs.webkit.org/show_bug.cgi?id=55917
2229
2230         Adjust webkit style to ScrollbarEfl files.
2231
2232         * platform/efl/ScrollbarEfl.cpp:
2233         (scrollbarEflEdjeMessage):
2234         (ScrollbarEfl::setParent):
2235         (ScrollbarEfl::updateThumbPositionAndProportion):
2236         (ScrollbarEfl::frameRectsChanged):
2237         (ScrollbarEfl::paint):
2238         * platform/efl/ScrollbarEfl.h:
2239
2240 2011-03-07  Daniel Cheng  <dcheng@chromium.org>
2241
2242         Unreviewed.
2243
2244         Build fix for Chromium after r80536.
2245
2246         * platform/chromium/DataTransferItemChromium.cpp:
2247         * platform/chromium/DataTransferItemsChromium.cpp:
2248
2249 2011-03-07  Daniel Cheng  <dcheng@chromium.org>
2250
2251         Unreviewed.
2252
2253         More build fixes for r80536.
2254
2255         * CMakeLists.txt:
2256         * platform/chromium/ClipboardChromium.cpp:
2257         * platform/chromium/ClipboardChromium.h:
2258
2259 2011-03-07  Daniel Cheng  <dcheng@chromium.org>
2260
2261         Reviewed by David Levin.
2262
2263         Add support for DataTransferItems
2264         https://bugs.webkit.org/show_bug.cgi?id=55115
2265
2266         This patch adds stubs for DataTransferItems/DataTransferItem as well as implementing the
2267         basic functionality on the Chromium port. With the exception of DataTransferItem::getAsFile,
2268         all functionality on the DataTransferItems collection has been implemented.
2269         This change does not actually hook up DataTransferItems to reflect the actual contents of a
2270         drop/paste operation or to allow mutation of data in a copy/drag start yet. That will be
2271         enabled via several followup patches.
2272
2273         Test: editing/pasteboard/data-transfer-items.html
2274
2275         * Android.mk:
2276         * CMakeLists.txt:
2277         * CodeGenerators.pri:
2278         * DerivedSources.cpp:
2279         * DerivedSources.make:
2280         * GNUmakefile.am:
2281         * WebCore.gypi:
2282         * WebCore.pro:
2283         * WebCore.vcproj/WebCore.vcproj:
2284         * WebCore.xcodeproj/project.pbxproj:
2285         * bindings/generic/RuntimeEnabledFeatures.cpp:
2286         * bindings/generic/RuntimeEnabledFeatures.h:
2287         (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled):
2288         (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled):
2289         * bindings/scripts/CodeGeneratorV8.pm: Do not emit an #include line for DOMString, since it's built-in.
2290         * dom/Clipboard.h:
2291         (WebCore::Clipboard::policy):
2292         * dom/Clipboard.idl:
2293         * dom/DataTransferItem.cpp: Added.
2294         * dom/DataTransferItem.h: Added.
2295         (WebCore::DataTransferItem::~DataTransferItem):
2296         * dom/DataTransferItem.idl: Added.
2297         * dom/DataTransferItems.h: Added.
2298         (WebCore::DataTransferItems::~DataTransferItems):
2299         * dom/DataTransferItems.idl: Added.
2300         * dom/StringCallback.cpp: Added.
2301         (WebCore::StringCallback::scheduleCallback):
2302         * dom/StringCallback.h: Added.
2303         (WebCore::StringCallback::~StringCallback):
2304         * dom/StringCallback.idl: Added.
2305         * platform/chromium/ClipboardChromium.cpp:
2306         (WebCore::ClipboardChromium::items):
2307         * platform/chromium/ClipboardChromium.h:
2308         * platform/chromium/DataTransferItemChromium.cpp: Added.
2309         (WebCore::DataTransferItemChromium::create):
2310         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
2311         (WebCore::DataTransferItemChromium::kind):
2312         (WebCore::DataTransferItemChromium::type):
2313         (WebCore::DataTransferItemChromium::getAsString):
2314         * platform/chromium/DataTransferItemChromium.h: Added.
2315         * platform/chromium/DataTransferItemsChromium.cpp: Added.
2316         (WebCore::DataTransferItemsChromium::create):
2317         (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
2318         (WebCore::DataTransferItemsChromium::length):
2319         (WebCore::DataTransferItemsChromium::item):
2320         (WebCore::DataTransferItemsChromium::deleteItem):
2321         (WebCore::DataTransferItemsChromium::clear):
2322         (WebCore::DataTransferItemsChromium::add):
2323         * platform/chromium/DataTransferItemsChromium.h: Added.
2324
2325 2011-03-07  Ryosuke Niwa  <rniwa@webkit.org>
2326
2327         Reviewed by Darin Adler.
2328
2329         selectionHasStyle and selectionStartHasStyle should use EditingStyle
2330         https://bugs.webkit.org/show_bug.cgi?id=55902
2331
2332         Deployed EditingStyle in selectionHasStyle and selectionStartHasStyle.
2333         This allowed us to move triStateOfStyle from Editor.cpp to EditingStyle.cpp.
2334
2335         Also changed the argument lists of selectionHasStyle and selectionStartHasStyle
2336         to take a property id and a value instead of a CSSMutableStyleDeclaration to cleanup
2337         call sites of these two functions.
2338
2339         * WebCore.exp.in: Updated the signature of selectionHasStyle. No longer exports
2340         selectionStartHasStyle because it's not called anywhere outside of WebCore.
2341         * WebCore.order: Ditto.
2342         * editing/EditingStyle.cpp:
2343         (WebCore::EditingStyle::EditingStyle): Added a new constructor that takes a property id
2344         and a property value.
2345         (WebCore::EditingStyle::triStateOfStyle): Moved from Editor.cpp.
2346         * editing/EditingStyle.h:
2347         (WebCore::EditingStyle::create): Added.
2348         * editing/Editor.cpp:
2349         (WebCore::Editor::selectionStartHasStyle): Takes a property id and a value instead of
2350         a CSSStyleDeclaration.
2351         (WebCore::Editor::selectionHasStyle): Ditto.
2352         * editing/Editor.h: Updated the signatures of selectionStartHasStyle and selectionHasStyle.
2353         * editing/EditorCommand.cpp:
2354         (WebCore::executeToggleStyle): Calls selectionStartHasStyle and selectionHasStyle.
2355         (WebCore::stateStyle): Ditto.
2356         * page/ContextMenuController.cpp:
2357         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
2358
2359 2011-03-07  Alexey Proskuryakov  <ap@apple.com>
2360
2361         Reviewed by Darin Adler.
2362
2363         REGRESSION (HTML5 tree builder): Text selection in a large text document is extremely slow
2364         https://bugs.webkit.org/show_bug.cgi?id=55898
2365
2366         <rdar://problem/9095839> REGRESSION: Mail hangs with a certain large mail message when
2367         linkifying e-mail addresses in in -[DOMCharacterData setData:]
2368
2369         Changes render tree of fast/text/large-text-composed-char.html, but not image results.
2370
2371         * dom/CharacterData.cpp: (WebCore::CharacterData::parserAppendData):
2372         Changed parserAppendData() to accept a maximum length, and moved code from Text::createWithLengthLimit().
2373
2374         * dom/CharacterData.h: Moved a constant for maximum length from Text.h.
2375
2376         * dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
2377         * dom/Text.h:
2378         This function was unused in ToT. Moved code around to share with CharacterData.
2379
2380         * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertTextNode):
2381         Chnaged to split large text nodes while parsing again.
2382
2383 2011-03-07  Alice Boxhall  <aboxhall@chromium.org>
2384
2385         Reviewed by Adam Barth.
2386
2387         Fix platform/image-encoders/JPEGImageEncoder.cpp empty_output_buffer() behaviour
2388         https://bugs.webkit.org/show_bug.cgi?id=54522
2389
2390         Fix jpegEmptyOutputBuffer() by ignoring free_in_buffer value as required.
2391
2392         No new tests, as this code is not yet used in WebKit. Once this code is used to implement canvas.toDataUrl(), the canvas tests will exercise it.
2393
2394         * platform/image-encoders/JPEGImageEncoder.cpp:
2395         (WebCore::jpegEmptyOutputBuffer):
2396
2397 2011-03-07  Sergey Glazunov  <serg.glazunov@gmail.com>
2398
2399         Reviewed by Eric Seidel.
2400
2401         Add the missing insertedIntoDocument() call in SVGVKernElement and SVGHKernElement
2402         https://bugs.webkit.org/show_bug.cgi?id=55896
2403
2404         Test: svg/dom/vkern-element-crash.html
2405
2406         * svg/SVGHKernElement.cpp:
2407         (WebCore::SVGHKernElement::insertedIntoDocument):
2408         * svg/SVGVKernElement.cpp:
2409         (WebCore::SVGVKernElement::insertedIntoDocument):
2410
2411 2011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2412
2413         Unreviewed, rolling out r80514.
2414         http://trac.webkit.org/changeset/80514
2415         https://bugs.webkit.org/show_bug.cgi?id=55915
2416
2417         Caused assertion failures (Requested by ukai on #webkit).
2418
2419         * platform/graphics/skia/GraphicsContextSkia.cpp:
2420         (WebCore::GraphicsContext::setPlatformShadow):
2421         * platform/graphics/skia/ImageSkia.cpp:
2422         (WebCore::paintSkBitmap):
2423
2424 2011-03-07  Cosmin Truta  <ctruta@chromium.org>
2425
2426         Reviewed by Adam Barth.
2427
2428         SVG <image> referenced by <use> is displayed incorrectly
2429         https://bugs.webkit.org/show_bug.cgi?id=55750
2430
2431         The result of sourceURI must use the URL of the enclosing document as base.
2432         Otherwise, the base may sometimes be empty, and, as a consequence,
2433         the intermediate KURL object may be invalid.
2434
2435         Test: svg/custom/use-image-in-g.svg
2436
2437         * svg/SVGImageLoader.cpp:
2438         (WebCore::SVGImageLoader::sourceURI):
2439
2440 2011-03-07  Helder Correia  <helder@sencha.com>
2441
2442         Reviewed by Simon Fraser.
2443
2444         Shadow is not shown when using strokeRect with a gradient strokeStyle
2445         https://bugs.webkit.org/show_bug.cgi?id=52509
2446
2447         This happens in CG and is related to bug 51869, this time to be fixed
2448         in GraphicsContext::strokeRect(const FloatRect& r, float lineWidth).
2449         We need to draw the gradient clipped to the stroke on a CGLayer first,
2450         and then draw the layer on the GraphicsContext.
2451
2452         Tests: fast/canvas/canvas-strokeRect-gradient-shadow.html
2453                svg/css/rect-gradient-stroke-shadow.svg
2454
2455         * platform/graphics/cg/GraphicsContextCG.cpp:
2456         (WebCore::GraphicsContext::strokeRect):
2457
2458 2011-03-07  Justin Novosad  <junov@chromium.org>
2459
2460         Reviewed by Kenneth Russell.
2461
2462         Fix for blurs behind bitmap images in Chromium, and boosting
2463         shadow blur quality 
2464         Bug URLs:
2465                 https://bugs.webkit.org/show_bug.cgi?id=55410
2466                 https://bugs.webkit.org/show_bug.cgi?id=55506
2467
2468         No new tests. Covered by existing layout tests. 
2469
2470         * platform/graphics/skia/GraphicsContextSkia.cpp:
2471         (WebCore::GraphicsContext::setPlatformShadow): Turn on high quality shadows and fix shadow color
2472         * platform/graphics/skia/ImageSkia.cpp:
2473         (WebCore::paintSkBitmap): Propagate the draw looper from context to painter
2474
2475 2011-03-07  Andreas Kling  <kling@webkit.org>
2476
2477         Unreviewed Mac build fix after r80508.
2478
2479         * WebCore.exp.in:
2480
2481 2011-03-07  Enrica Casucci  <enrica@apple.com>
2482
2483         Unreviewed build fix.
2484
2485         Rolling back  http://trac.webkit.org/changeset/80497 due to the
2486         32-bit build failures.
2487
2488         * WebCore.xcodeproj/project.pbxproj:
2489         * platform/mac/HTMLConverter.h: Removed.
2490         * platform/mac/HTMLConverter.mm: Removed.
2491         * platform/mac/PasteboardMac.mm:
2492         (WebCore::Pasteboard::writeSelection):
2493
2494 2011-03-07  Andreas Kling  <kling@webkit.org>
2495
2496         Reviewed by Benjamin Poulain.
2497
2498         FrameView::setBaseBackgroundColor: Pass Color argument as const-reference.
2499
2500         * page/FrameView.cpp:
2501         (WebCore::FrameView::setBaseBackgroundColor):
2502         * page/FrameView.h:
2503
2504 2011-03-07  Adam Barth  <abarth@webkit.org>
2505
2506         Reviewed by Dimitri Glazkov.
2507
2508         REGRESSION(r78147): Crash on http://gnarf.net/jquery/test/
2509         https://bugs.webkit.org/show_bug.cgi?id=55894
2510
2511         The m_frame can disappear out from under us, and there's no point in
2512         checking whether the load is complete in a non-existant frame.
2513
2514         Test: fast/parser/document-write-into-initial-document.html
2515
2516         * dom/Document.cpp:
2517         (WebCore::Document::explicitClose):
2518
2519 2011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2520
2521         Unreviewed, rolling out r80500.
2522         http://trac.webkit.org/changeset/80500
2523         https://bugs.webkit.org/show_bug.cgi?id=55908
2524
2525         Caused mysterious GYP error (Requested by abarth on #webkit).
2526
2527         * WebCore.gyp/WebCore.gyp:
2528         * WebCore.gypi:
2529
2530 2011-03-07  Adam Barth  <abarth@webkit.org>
2531
2532         Fix Chromium Mac build.  This header should only be included when the
2533         feature is enabled.
2534
2535         * platform/cf/RunLoopTimerCF.cpp:
2536
2537 2011-03-07  Adam Barth  <abarth@webkit.org>
2538
2539         Reviewed by Dimitri Glazkov.
2540
2541         Add WML files to WebCore.gypi
2542         https://bugs.webkit.org/show_bug.cgi?id=55905
2543
2544         * WebCore.gyp/WebCore.gyp:
2545         * WebCore.gypi:
2546
2547 2011-03-07  Adrienne Walker  <enne@google.com>
2548
2549         Reviewed by James Robinson.
2550
2551         [chromium] Add missing include to #define Skia parameter
2552         https://bugs.webkit.org/show_bug.cgi?id=55885
2553
2554         * platform/graphics/chromium/ShaderChromium.h:
2555
2556 2011-03-07  Chris Fleizach  <cfleizach@apple.com>
2557
2558         Reviewed by Beth Dakin.
2559
2560         AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not
2561         https://bugs.webkit.org/show_bug.cgi?id=55706
2562
2563         * WebCore.exp.in:
2564         * accessibility/AXObjectCache.cpp:
2565         (WebCore::AXObjectCache::rootObjectForFrame):
2566         * accessibility/AXObjectCache.h:
2567         * accessibility/AccessibilityScrollView.cpp:
2568         (WebCore::AccessibilityScrollView::isAttachment):
2569         (WebCore::AccessibilityScrollView::widgetForAttachmentView):
2570         * accessibility/AccessibilityScrollView.h:
2571         (WebCore::AccessibilityScrollView::firstChild):
2572         * accessibility/mac/AccessibilityObjectWrapper.mm:
2573         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2574
2575 2011-03-07  Enrica Casucci  <enrica@apple.com>
2576
2577         Reviewed by Darin Adler.
2578         
2579         REGRESSION: Copied content loses formatting on paste to external apps.
2580         https://bugs.webkit.org/show_bug.cgi?id=47615
2581         <rdar://problem/9001214>
2582
2583         This is a resubmission of a patch that was landed a while ago then rolled
2584         back because of a build failure on SnowLeopard and Leopard.
2585         
2586         This patch adds a way for WebKit2 to create NSAttributedStrings from
2587         a DOM range without using the AppKit api initWithDOMRange that internally
2588         needs to access the WebView. The NSAttributedString is needed to create
2589         RTF formats in the pasteboard.
2590         This is to be considered a first step, since in the future we want to have
2591         an implementation based on the TextIterator.
2592
2593         * WebCore.xcodeproj/project.pbxproj: Added new file.
2594         * platform/mac/HTMLConverter.h: Added.
2595         * platform/mac/HTMLConverter.mm: Added.
2596         * platform/mac/PasteboardMac.mm:
2597         (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
2598         class for WebKit2 to create the NSAttributedString from the DOM range.
2599
2600 2011-03-07  Adam Barth  <abarth@webkit.org>
2601
2602         Reviewed by Dimitri Glazkov.
2603
2604         Add some missing platform files to WebCore.gypi
2605         https://bugs.webkit.org/show_bug.cgi?id=55897
2606
2607         There are a bunch more, but this is a start.
2608
2609         * WebCore.gyp/WebCore.gyp:
2610         * WebCore.gypi:
2611
2612 2011-03-07  Steve Block  <steveblock@google.com>
2613
2614         Reviewed by Jeremy Orlow.
2615
2616         Rename JNIBridgeV8.cpp/h to JavaFieldV8.cpp/h
2617         https://bugs.webkit.org/show_bug.cgi?id=55879
2618
2619         No new tests, refactoring only.
2620
2621         * Android.v8bindings.mk:
2622         * WebCore.gypi:
2623         * bridge/jni/v8/JavaClassV8.cpp:
2624         * bridge/jni/v8/JavaClassV8.h:
2625         * bridge/jni/v8/JavaFieldV8.cpp: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.cpp.
2626         (JavaField::JavaField):
2627         * bridge/jni/v8/JavaFieldV8.h: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
2628         (JSC::Bindings::JavaField::name):
2629         (JSC::Bindings::JavaField::type):
2630         (JSC::Bindings::JavaField::getJNIType):
2631         * bridge/jni/v8/JavaInstanceV8.cpp:
2632         * bridge/jni/v8/JavaNPObjectV8.cpp:
2633
2634 2011-03-07  Daniel Cheng  <dcheng@chromium.org>
2635
2636         Reviewed by Tony Chang.
2637
2638         Add plumbing for paste support to ChromiumDataObject::types()
2639         https://bugs.webkit.org/show_bug.cgi?id=55792
2640
2641         This is a preliminary patch to support event.dataTransfer.items. This
2642         adds plumbing to support retrieving the types in a paste event. It also
2643         moves the check for files in a drag/paste up to ClipboardChromium, since
2644         internal code needs to be able to differentiate between actual files in
2645         a drag and someone that simply decided to use "Files" as a custom type
2646         string.
2647
2648         Test: editing/pasteboard/onpaste-text-html-types.html
2649
2650         * platform/chromium/ChromiumDataObject.cpp:
2651         (WebCore::ChromiumDataObject::types):
2652         (WebCore::ChromiumDataObject::containsFilenames):
2653         * platform/chromium/ChromiumDataObject.h:
2654         * platform/chromium/ClipboardChromium.cpp:
2655         (WebCore::ClipboardChromium::types):
2656         * platform/chromium/ClipboardMimeTypes.cpp:
2657         * platform/chromium/ClipboardMimeTypes.h:
2658
2659 2011-03-07  Takayoshi Kochi  <kochi@chromium.org>
2660
2661         Reviewed by Tony Chang.
2662
2663         [chromium] Use preferred locale information when choosing fallback
2664         font using fontconfig on Linux platform.
2665         http://bugs.webkit.org/show_bug.cgi?id=55453
2666
2667         No new tests, as it depends on ICU and locale setting, so it will be
2668         covered by Chromium side.
2669
2670         * platform/chromium/PlatformBridge.h:
2671         * platform/graphics/chromium/FontCacheLinux.cpp:
2672
2673 2011-03-07  Adam Barth  <abarth@webkit.org>
2674
2675         Reviewed by Eric Seidel.
2676
2677         Add gobject, cpp, and objc bindings to WebCore.gypi
2678         https://bugs.webkit.org/show_bug.cgi?id=55892
2679
2680         These are also excluded from the Chromium build but needed for various
2681         other ports.
2682
2683         * WebCore.gyp/WebCore.gyp:
2684         * WebCore.gypi:
2685
2686 2011-03-07  Sergey Glazunov  <serg.glazunov@gmail.com>
2687
2688         Reviewed by Dimitri Glazkov.
2689
2690         Node::checkAddChild and Node::checkReplaceChild shouldn't change the owner document of a node
2691         https://bugs.webkit.org/show_bug.cgi?id=55803
2692
2693         Test: fast/dom/dom-method-document-change.html
2694
2695         * dom/ContainerNode.cpp:
2696         (WebCore::ContainerNode::insertBefore):
2697         (WebCore::ContainerNode::replaceChild):
2698         (WebCore::ContainerNode::appendChild):
2699         * dom/Node.cpp:
2700         (WebCore::Node::checkReplaceChild):
2701         (WebCore::Node::checkAddChild):
2702         * dom/Node.h:
2703
2704 2011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2705
2706         Unreviewed, rolling out r80484.
2707         http://trac.webkit.org/changeset/80484
2708         https://bugs.webkit.org/show_bug.cgi?id=55891
2709
2710         requires Chromium DEPS roll (Requested by dcheng on #webkit).
2711
2712         * platform/chromium/ChromiumDataObject.cpp:
2713         (WebCore::ChromiumDataObject::types):
2714         * platform/chromium/ChromiumDataObject.h:
2715         (WebCore::ChromiumDataObject::containsFilenames):
2716         * platform/chromium/ClipboardChromium.cpp:
2717         (WebCore::ClipboardChromium::types):
2718         * platform/chromium/ClipboardMimeTypes.cpp:
2719         * platform/chromium/ClipboardMimeTypes.h:
2720
2721 2011-03-07  Adam Barth  <abarth@webkit.org>
2722
2723         Reviewed by Dimitri Glazkov.
2724
2725         Add missing bindings/js files to WebCore.gypi
2726         https://bugs.webkit.org/show_bug.cgi?id=55888
2727
2728         These files are excluded from the Chromium build but needed for the Mac
2729         build.
2730
2731         * WebCore.gypi:
2732
2733 2011-03-07  Daniel Cheng  <dcheng@chromium.org>
2734
2735         Reviewed by Tony Chang.
2736
2737         Add plumbing for paste support to ChromiumDataObject::types()
2738         https://bugs.webkit.org/show_bug.cgi?id=55792
2739
2740         This is a preliminary patch to support event.dataTransfer.items. This
2741         adds plumbing to support retrieving the types in a paste event. It also
2742         moves the check for files in a drag/paste up to ClipboardChromium, since
2743         internal code needs to be able to differentiate between actual files in
2744         a drag and someone that simply decided to use "Files" as a custom type
2745         string.
2746
2747         Test: editing/pasteboard/onpaste-text-html-types.html
2748
2749         * platform/chromium/ChromiumDataObject.cpp:
2750         (WebCore::ChromiumDataObject::types):
2751         (WebCore::ChromiumDataObject::containsFilenames):
2752         * platform/chromium/ChromiumDataObject.h:
2753         * platform/chromium/ClipboardChromium.cpp:
2754         (WebCore::ClipboardChromium::types):
2755         * platform/chromium/ClipboardMimeTypes.cpp:
2756         * platform/chromium/ClipboardMimeTypes.h:
2757
2758 2011-03-07  Joseph Pecoraro  <joepeck@webkit.org>
2759
2760         Reviewed by Kenneth Rohde Christiansen.
2761
2762         Viewport Warning/Error Messages Are Now Inaccurate
2763         https://bugs.webkit.org/show_bug.cgi?id=53707
2764
2765         Correct and improve the error messages for viewport parsing.
2766
2767         Tests: fast/viewport/viewport-warnings-1.html
2768                fast/viewport/viewport-warnings-2.html
2769                fast/viewport/viewport-warnings-3.html
2770                fast/viewport/viewport-warnings-4.html
2771                fast/viewport/viewport-warnings-5.html
2772                fast/viewport/viewport-warnings-6.html
2773
2774         * dom/ViewportArguments.cpp:
2775         (WebCore::numericPrefix):
2776         (WebCore::findSizeValue): remove incorrect device-width / height tips.
2777         (WebCore::setViewportFeature): report a warning for an unrecognized key.
2778         (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
2779         (WebCore::viewportErrorMessageLevel): classify an unrecognized key is an error.
2780         * dom/ViewportArguments.h: removed no longer used warnings.
2781
2782 2011-03-07  James Robinson  <jamesr@chromium.org>
2783
2784         Reviewed by Kenneth Russell.
2785
2786         [chromium] Separate the update and draw portions of LayerRendererChromium's drawLayers function
2787         https://bugs.webkit.org/show_bug.cgi?id=54047
2788
2789         This splits up LayerRendererChromium::drawLayers() into two phases,
2790         one that updates layers and one that actually draws them.  Most of the
2791         patch is moving the bodies of drawLayers() and updateLayersRecursive()
2792         into smaller helper functions.
2793
2794         The main entry point is renamed updateAndDrawLayers(), but otherwise
2795         has the same signature as drawLayers() did.  Internally it does the
2796         following:
2797
2798         1.) Updates the root layer's contents
2799         2.) Updates the root layer's scrollbars
2800         3.) Updates the RenderSurface tree and the contents of all child
2801         layers
2802         4.) Draws the root layer and root layer scrollbars
2803         5.) Draws all child layers using the previously updated
2804         CCLayerImpl/RenderSurface data.
2805
2806         A few things still need to be done after this patch to complete the separation
2807         of the update and draw step, but they can happen in later patches:
2808         *) The root layer and root layer scrollbars contents should be
2809         uploaded to textures at draw time, not update time.
2810         *) The RenderSurface tree should be updated at draw time, not update
2811         time.
2812
2813         Covered by the compositing/ tests.
2814
2815         * platform/graphics/chromium/LayerRendererChromium.cpp:
2816         (WebCore::LayerRendererChromium::LayerRendererChromium):
2817         (WebCore::LayerRendererChromium::updateRootLayerContents):
2818         (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
2819         (WebCore::LayerRendererChromium::drawRootLayer):
2820         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2821         (WebCore::LayerRendererChromium::updateLayers):
2822         (WebCore::LayerRendererChromium::drawLayers):
2823         (WebCore::LayerRendererChromium::getFramebufferPixels):
2824         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
2825         (WebCore::LayerRendererChromium::updateContentsRecursive):
2826         (WebCore::LayerRendererChromium::drawLayer):
2827         * platform/graphics/chromium/LayerRendererChromium.h:
2828         (WebCore::LayerRendererChromium::visibleRectSize):
2829         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2830         (WebCore::RenderSurfaceChromium::drawSurface):
2831         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2832         * platform/graphics/chromium/cc/CCLayerImpl.h:
2833
2834 2011-03-07  Adam Barth  <abarth@webkit.org>
2835
2836         Reviewed by Eric Seidel.
2837
2838         Sort WebCore.gypi
2839         https://bugs.webkit.org/show_bug.cgi?id=55887
2840
2841         These files should be in order.  This is preparation for adding in the
2842         missing files.
2843
2844         * WebCore.gypi:
2845
2846 2011-03-07  Csaba Osztrogon√°c  <ossy@webkit.org>
2847
2848         Unreviewed buildfix after r80478.
2849
2850         * dom/Document.cpp: Add suggested parentheses to make GCC happy.
2851         (WebCore::Document::didReceiveTask):
2852
2853 2011-03-07  Yong Li  <yoli@rim.com>
2854
2855         Reviewed by Darin Adler.
2856
2857         Defer ScriptExecutionContext::Task's in Document when page loading is deferred.
2858         Schedule them with timer when page loading is resumed. The tasks will be performed
2859         in the original order. This fixes the problem that database callbacks could be missed
2860         when page loading was deferred.
2861         https://bugs.webkit.org/show_bug.cgi?id=49401
2862
2863         Manual test added: manual-tests/database-callback-deferred.html.
2864
2865         * dom/Document.cpp:
2866         (WebCore::Document::Document):
2867         (WebCore::Document::~Document):
2868         (WebCore::Document::didReceiveTask):
2869         (WebCore::Document::postTask):
2870         (WebCore::Document::pendingTasksTimerFired):
2871         (WebCore::Document::willDeferLoading):
2872         (WebCore::Document::didResumeLoading):
2873         * dom/Document.h:
2874         * manual-tests/database-callback-deferred.html: Added.
2875         * page/PageGroupLoadDeferrer.cpp:
2876         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2877         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2878
2879 2011-03-07  Antti Koivisto  <antti@apple.com>
2880
2881         Reviewed by Sam Weinig.
2882
2883         Use HashMaps for caching primitive values
2884         https://bugs.webkit.org/show_bug.cgi?id=55873
2885         
2886         Most documents use only small subset of cacheable primitive values. By replacing
2887         fixed size cache arrays with HashMaps we can reduce the constant memory usage while also
2888         expanding the range of cacheable values.
2889
2890         * css/CSSPrimitiveValueCache.cpp:
2891         (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache):
2892         (WebCore::CSSPrimitiveValueCache::createIdentifierValue):
2893         (WebCore::CSSPrimitiveValueCache::createColorValue):
2894         (WebCore::CSSPrimitiveValueCache::createValue):
2895         * css/CSSPrimitiveValueCache.h:
2896
2897 2011-03-07  Steve Block  <steveblock@google.com>
2898
2899         Reviewed by Jeremy Orlow.
2900
2901         Split JNIBridgeJSC.cpp/h into JavaArrayJSC.cpp/h and JavaFieldJSC.cpp/h
2902         https://bugs.webkit.org/show_bug.cgi?id=55881
2903
2904         No new tests, refactoring only.
2905
2906         * Android.jscbindings.mk:
2907         * GNUmakefile.am:
2908         * WebCore.xcodeproj/project.pbxproj:
2909         * bridge/jni/jsc/JNIBridgeJSC.cpp: Removed.
2910         * bridge/jni/jsc/JNIBridgeJSC.h: Removed.
2911         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
2912         * bridge/jni/jsc/JavaClassJSC.cpp:
2913         * bridge/jni/jsc/JavaClassJSC.h:
2914         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2915
2916 2011-03-07  Sam Weinig  <sam@webkit.org>
2917
2918         Reviewed by Anders Carlsson.
2919
2920         Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
2921         https://bugs.webkit.org/show_bug.cgi?id=55827
2922
2923         * loader/EmptyClients.h:
2924         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForResponse):
2925         * loader/FrameLoaderClient.h:
2926         * loader/MainResourceLoader.cpp:
2927         (WebCore::MainResourceLoader::didReceiveResponse):
2928         * loader/PolicyChecker.cpp:
2929         (WebCore::PolicyChecker::checkContentPolicy):
2930         * loader/PolicyChecker.h:
2931         Rename FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
2932         and pass the entire response, instead of just the MIMEType.
2933
2934 2011-03-07  Eric Carlson  <eric.carlson@apple.com>
2935
2936         Reviewed by Darin Adler.
2937
2938         Add API to enumerate/delete files downloaded for <audio> and <video>
2939         https://bugs.webkit.org/show_bug.cgi?id=55267
2940         <rdar://problem/9049280>
2941
2942         No new tests, this is just more plumbing.
2943
2944         * html/HTMLMediaElement.cpp:
2945         (WebCore::HTMLMediaElement::getSitesInMediaCache): Make static, call MediaPlayer static method.
2946         (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
2947         (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
2948         * html/HTMLMediaElement.h:
2949
2950         * platform/graphics/MediaPlayer.cpp:
2951         (WebCore::MediaPlayerFactory::MediaPlayerFactory): Add new media engine factory functions.
2952         (WebCore::addMediaEngine): Ditto.
2953         (WebCore::MediaPlayer::getSitesInMediaCache): Call static method on all installed media engines.
2954         (WebCore::MediaPlayer::clearMediaCache): Ditto.
2955         (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
2956         * platform/graphics/MediaPlayer.h:
2957
2958         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2959         (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Update for MediaEngineRegistrar change.
2960
2961         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2962         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Ditto.
2963
2964         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2965         (WebCore::MediaPlayerPrivatePhonon::registerMediaEngine): Ditto.
2966
2967         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2968         (WebCore::MediaPlayerPrivateQt::registerMediaEngine): Ditto.
2969
2970         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2971         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine): Ditto.
2972
2973         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2974         (WebCore::MediaPlayerPrivate::registerMediaEngine): Ditto.
2975
2976 2011-03-07  Steve Block  <steveblock@google.com>
2977
2978         Reviewed by Jeremy Orlow.
2979
2980         Split JNIBridge.cpp/h into JavaString.h and JavaMethod.cpp/h
2981         https://bugs.webkit.org/show_bug.cgi?id=55774
2982
2983         No new tests, refactoring only.
2984
2985         * Android.jscbindings.mk:
2986         * Android.v8bindings.mk:
2987         * GNUmakefile.am:
2988         * WebCore.gypi:
2989         * WebCore.xcodeproj/project.pbxproj:
2990         * bridge/jni/JavaMethod.cpp:
2991         (JavaMethod::JavaMethod):
2992         (JavaMethod::~JavaMethod):
2993         (appendClassName):
2994         (JavaMethod::signature):
2995         (JavaMethod::JNIReturnType):
2996         (JavaMethod::methodID):
2997         * bridge/jni/JavaMethod.h:
2998         (JSC::Bindings::JavaMethod::name):
2999         (JSC::Bindings::JavaMethod::returnType):
3000         (JSC::Bindings::JavaMethod::parameterAt):
3001         (JSC::Bindings::JavaMethod::numParameters):
3002         (JSC::Bindings::JavaMethod::isStatic):
3003         * bridge/jni/JavaString.h:
3004         (JSC::Bindings::JavaString::JavaString):
3005         (JSC::Bindings::JavaString::utf8):
3006         (JSC::Bindings::JavaString::length):
3007         (JSC::Bindings::JavaString::impl):
3008         * bridge/jni/jni_jsobject.mm:
3009         * bridge/jni/jsc/JNIBridgeJSC.h:
3010         * bridge/jni/v8/JNIBridgeV8.h:
3011         * bridge/jni/v8/JavaClassV8.cpp:
3012         * bridge/jni/v8/JavaClassV8.h:
3013         * bridge/jni/v8/JavaInstanceV8.cpp:
3014
3015 2011-03-07  Jeremy Orlow  <jorlow@chromium.org>
3016
3017         Reviewed by Steve Block.
3018
3019         Add source to IDBCursor, objectStore to IDBIndex, and remove storeName
3020         https://bugs.webkit.org/show_bug.cgi?id=55812
3021
3022         This brings us in line with what's in the spec:
3023         http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
3024
3025         * storage/IDBCursor.cpp:
3026         (WebCore::IDBCursor::create):
3027         (WebCore::IDBCursor::IDBCursor):
3028         (WebCore::IDBCursor::source):
3029         * storage/IDBCursor.h:
3030         * storage/IDBCursor.idl:
3031         * storage/IDBCursorWithValue.cpp:
3032         (WebCore::IDBCursorWithValue::create):
3033         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
3034         * storage/IDBCursorWithValue.h:
3035         * storage/IDBIndex.cpp:
3036         (WebCore::IDBIndex::IDBIndex):
3037         * storage/IDBIndex.h:
3038         (WebCore::IDBIndex::create):
3039         (WebCore::IDBIndex::objectStore):
3040         * storage/IDBIndex.idl:
3041         * storage/IDBObjectStore.cpp:
3042         (WebCore::IDBObjectStore::createIndex):
3043         (WebCore::IDBObjectStore::index):
3044         * storage/IDBRequest.cpp:
3045         (WebCore::IDBRequest::onSuccess):
3046
3047 2011-03-07  Chris Fleizach  <cfleizach@apple.com>
3048
3049         Reviewed by Beth Dakin.
3050
3051         AX: kAXCellForColumnAndRowParameterizedAttribute doesn't work ARIA grids with colspans
3052         https://bugs.webkit.org/show_bug.cgi?id=55735
3053
3054         The ARIA grid implementation needed to verify the row/column range of a cell instead of 
3055         assuming a 1-1 mapping between children and row/column.
3056
3057         Test: platform/mac/accessibility/aria-table-with-colspan-cells.html
3058
3059         * accessibility/AccessibilityARIAGrid.cpp:
3060         (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
3061
3062 2011-03-07  Andrei Popescu  <andreip@google.com>
3063
3064         Reviewed by Steve Block.
3065
3066         IDBRequest::onSuccess(IDBObjectStore*) should be removed as it is unused.
3067         IDBObjectStore objects used to be created asynchronously, so we needed
3068         this method to be invoked, with the new object store as the parameter,
3069         whenever the creation succeeded. The spec has changed so that IDBObjectStore
3070         objects are created synchronously, so this method is no longer needed.
3071         https://bugs.webkit.org/show_bug.cgi?id=55777
3072
3073         No new tests, just refactoring.
3074
3075         * storage/IDBCallbacks.h:
3076         * storage/IDBRequest.cpp:
3077         * storage/IDBRequest.h:
3078
3079 2011-03-04  Steve Block  <steveblock@google.com>
3080
3081         Reviewed by Jeremy Orlow.
3082
3083         JavaParameter should be removed
3084         https://bugs.webkit.org/show_bug.cgi?id=55772
3085
3086         No new tests, refactoring only.
3087
3088         * bridge/jni/JNIBridge.cpp:
3089         (JavaMethod::JavaMethod):
3090         (JavaMethod::~JavaMethod):
3091         (JavaMethod::signature):
3092         * bridge/jni/JNIBridge.h:
3093         (JSC::Bindings::JavaMethod::parameterAt):
3094         (JSC::Bindings::JavaMethod::numParameters):
3095         * bridge/jni/JNIUtility.h:
3096         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3097         (JavaInstance::invokeMethod):
3098         * bridge/jni/v8/JNIUtilityPrivate.cpp:
3099         (JSC::Bindings::convertNPVariantToJValue):
3100         * bridge/jni/v8/JNIUtilityPrivate.h:
3101         * bridge/jni/v8/JavaInstanceV8.cpp:
3102         (JavaInstance::invokeMethod):
3103
3104 2011-03-07  Antti Koivisto  <antti@apple.com>
3105
3106         Reviewed by Oliver Hunt.
3107
3108         REGRESSION (r79574): fast/dom/global-constructors.html failing on Windows 7 Release (Tests) bots 
3109         https://bugs.webkit.org/show_bug.cgi?id=55166
3110         <rdar://problem/9050430>
3111         
3112         Make CSS primitive value cache per-document.
3113         
3114         Test: http/tests/security/cross-origin-css-primitive.html
3115
3116         * Android.mk:
3117         * CMakeLists.txt:
3118         * GNUmakefile.am:
3119         * WebCore.gypi:
3120         * WebCore.pro:
3121         * WebCore.vcproj/WebCore.vcproj:
3122         * WebCore.xcodeproj/project.pbxproj:
3123         * css/CSSComputedStyleDeclaration.cpp:
3124         (WebCore::valueForNinePieceImage):
3125         (WebCore::zoomAdjustedPixelValue):
3126         (WebCore::zoomAdjustedNumberValue):
3127         (WebCore::zoomAdjustedPixelValueForLength):
3128         (WebCore::valueForReflection):
3129         (WebCore::getPositionOffsetValue):
3130         (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
3131         (WebCore::getBorderRadiusCornerValue):
3132         (WebCore::computedTransform):
3133         (WebCore::getDelayValue):
3134         (WebCore::getDurationValue):
3135         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
3136         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
3137         (WebCore::valueForFamily):
3138         (WebCore::renderTextDecorationFlagsToCSSValue):
3139         (WebCore::fillRepeatToCSSValue):
3140         (WebCore::fillSizeToCSSValue):
3141         (WebCore::contentToCSSValue):
3142         (WebCore::counterToCSSValue):
3143         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3144         * css/CSSParser.cpp:
3145         (WebCore::CSSParser::parseSheet):
3146         (WebCore::CSSParser::parseRule):
3147         (WebCore::CSSParser::parseKeyframeRule):
3148         (WebCore::CSSParser::parseValue):
3149         (WebCore::CSSParser::parseColor):
3150         (WebCore::CSSParser::parseSelector):
3151         (WebCore::CSSParser::parseDeclaration):
3152         (WebCore::CSSParser::setStyleSheet):
3153         (WebCore::CSSParser::parseWCSSInputProperty):
3154         (WebCore::parseBackgroundClip):
3155         (WebCore::CSSParser::parseFillShorthand):
3156         (WebCore::CSSParser::parsePage):
3157         (WebCore::CSSParser::parseSizeParameter):
3158         (WebCore::CSSParser::parseContent):
3159         (WebCore::CSSParser::parseAttr):
3160         (WebCore::CSSParser::parseBackgroundColor):
3161         (WebCore::CSSParser::parseFillPositionXY):
3162         (WebCore::CSSParser::parseFillPosition):
3163         (WebCore::CSSParser::parseFillRepeat):
3164         (WebCore::CSSParser::parseFillSize):
3165         (WebCore::CSSParser::parseFillProperty):
3166         (WebCore::CSSParser::parseAnimationDelay):
3167         (WebCore::CSSParser::parseAnimationDirection):
3168         (WebCore::CSSParser::parseAnimationDuration):
3169         (WebCore::CSSParser::parseAnimationFillMode):
3170         (WebCore::CSSParser::parseAnimationIterationCount):
3171         (WebCore::CSSParser::parseAnimationName):
3172         (WebCore::CSSParser::parseAnimationPlayState):
3173         (WebCore::CSSParser::parseAnimationProperty):
3174         (WebCore::CSSParser::parseTransformOriginShorthand):
3175         (WebCore::CSSParser::parseAnimationTimingFunction):
3176         (WebCore::CSSParser::parseDashboardRegions):
3177         (WebCore::CSSParser::parseCounterContent):
3178         (WebCore::CSSParser::parseShape):
3179         (WebCore::CSSParser::parseFont):
3180         (WebCore::CSSParser::parseFontFamily):
3181         (WebCore::CSSParser::parseFontStyle):
3182         (WebCore::CSSParser::parseFontVariant):
3183         (WebCore::CSSParser::parseFontWeight):
3184         (WebCore::ShadowParseContext::ShadowParseContext):
3185         (WebCore::ShadowParseContext::commitLength):
3186         (WebCore::ShadowParseContext::commitStyle):
3187         (WebCore::CSSParser::parseShadow):
3188         (WebCore::CSSParser::parseReflect):
3189         (WebCore::BorderImageParseContext::BorderImageParseContext):
3190         (WebCore::BorderImageParseContext::commitNumber):
3191         (WebCore::BorderImageParseContext::commitBorderImage):
3192         (WebCore::CSSParser::parseBorderImage):
3193         (WebCore::CSSParser::parseBorderRadius):
3194         (WebCore::CSSParser::parseCounter):
3195         (WebCore::parseDeprecatedGradientPoint):
3196         (WebCore::parseDeprecatedGradientColorStop):
3197         (WebCore::CSSParser::parseDeprecatedGradient):
3198         (WebCore::valueFromSideKeyword):
3199         (WebCore::parseGradientColorOrKeyword):
3200         (WebCore::CSSParser::parseLinearGradient):
3201         (WebCore::CSSParser::parseRadialGradient):
3202         (WebCore::CSSParser::parseGradientColorStops):
3203         (WebCore::CSSParser::parseTransform):
3204         (WebCore::CSSParser::parseTransformOrigin):
3205         (WebCore::CSSParser::parseTextEmphasisStyle):
3206         * css/CSSParser.h:
3207         (WebCore::CSSParser::primitiveValueCache):
3208         * css/CSSPrimitiveValue.cpp:
3209         * css/CSSPrimitiveValue.h:
3210         (WebCore::CSSPrimitiveValue::createIdentifier):
3211         (WebCore::CSSPrimitiveValue::createColor):
3212         (WebCore::CSSPrimitiveValue::create):
3213         * css/CSSPrimitiveValueCache.cpp: Added.
3214         (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache):
3215         (WebCore::CSSPrimitiveValueCache::~CSSPrimitiveValueCache):
3216         (WebCore::CSSPrimitiveValueCache::createIdentifierValue):
3217         (WebCore::CSSPrimitiveValueCache::createColorValue):
3218         (WebCore::CSSPrimitiveValueCache::createValue):
3219         * css/CSSPrimitiveValueCache.h: Added.
3220         (WebCore::CSSPrimitiveValueCache::create):
3221         (WebCore::CSSPrimitiveValueCache::createValue):
3222         * dom/Document.cpp:
3223         (WebCore::Document::cssPrimitiveValueCache):
3224         * dom/Document.h:
3225
3226 2011-03-06  Adam Barth  <abarth@webkit.org>
3227
3228         Reviewed by Eric Seidel.
3229
3230         Filter sources in WebCore GYP build for Mac
3231         https://bugs.webkit.org/show_bug.cgi?id=55857
3232
3233         This patch removes a large number of files that do not build as part of
3234         the Mac build.  I'm not fully sold on this method of
3235         including/excluding files, but it's the "gyp way" so we should probably
3236         try it first.
3237
3238         This patch also sets xcode_list_excluded_files to 0, which removes the
3239         excluded files from the Xcode project file, which is necessary in order
3240         to prevent the header map feature from including the wrong header file.
3241
3242         * gyp/WebCore.gyp:
3243
3244 2011-03-07  Ryuan Choi  <ryuan.choi@samsung.com>
3245
3246         Unreviewed EFL build fix.
3247
3248         [EFL] Build break on Debug build.
3249         https://bugs.webkit.org/show_bug.cgi?id=55858
3250
3251         * platform/efl/RenderThemeEfl.cpp:
3252         (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate):
3253
3254 2011-03-06  Adam Barth  <abarth@webkit.org>
3255
3256         Reviewed by Eric Seidel.
3257
3258         Add webcore_derived_source_files to WebCore.gypi
3259         https://bugs.webkit.org/show_bug.cgi?id=55856
3260
3261         This is the list of files generated by the Mac port.  It's possible
3262         other ports generate a different list of files.
3263
3264         * WebCore.gypi:
3265         * gyp/WebCore.gyp:
3266
3267 2011-03-06  Naoki Takano  <takano.naoki@gmail.com>
3268
3269         Reviewed by Kent Tamura.
3270
3271         Input type=number spin buttons remain invisible but functional after div changed from hidden to visible.
3272         https://bugs.webkit.org/show_bug.cgi?id=55839
3273         http://crbug.com/73866
3274         http://crbug.com/62527
3275
3276         We also need style change for m_innerSpinButton not only for m_outerSpinBuggon when styleDidChange() is called.
3277
3278         Test: fast/forms/input-appearance-spinbutton-visibility.html
3279
3280         * rendering/RenderTextControlSingleLine.cpp:
3281         (WebCore::RenderTextControlSingleLine::styleDidChange):
3282
3283 2011-03-06  Naoki Takano  <takano.naoki@gmail.com>
3284
3285         Reviewed by Kent Tamura.
3286
3287         [Chromium] Autocomplete suggestion extends out of window (and onto second monitor)
3288         https://bugs.webkit.org/show_bug.cgi?id=54795
3289
3290         Implement width clip logic according to browser screen width and popup window width. This fix is enough for Win and Mac, but there is a problem in Linux. Because WebScreenInfoFactory::screenInfo() can get only merged screen size, not the screen size where the browser exists.
3291
3292         Test: manual-tests/popup-width-restriction-within-screen.html
3293
3294         * manual-tests/popup-width-restriction-within-screen.html: Added.
3295         * platform/chromium/PopupMenuChromium.cpp:
3296         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Implement the width clip logic according to screen width.
3297
3298 2011-03-06  Yuta Kitamura  <yutak@chromium.org>
3299
3300         Reviewed by Kent Tamura.
3301
3302         Add SHA-1 for new WebSocket protocol
3303         https://bugs.webkit.org/show_bug.cgi?id=55039
3304
3305         * ForwardingHeaders/wtf/SHA1.h: Added.
3306
3307 2011-03-06  Eric Carlson  <eric.carlson@apple.com>
3308
3309         Reviewed by Antti Koivisto.
3310
3311         QuickTime based media engines should respect private browsing mode
3312         https://bugs.webkit.org/show_bug.cgi?id=55848
3313
3314         No new tests, it is only possible to test this by manually deleting and monitoring the
3315         the Quicktime caches.
3316
3317         * html/HTMLMediaElement.cpp:
3318         (WebCore::HTMLMediaElement::privateBrowsingStateDidChange): Add logging.
3319
3320         * platform/graphics/MediaPlayer.cpp:
3321         (WebCore::MediaPlayer::MediaPlayer): Initialize m_privateBrowsing.
3322         (WebCore::MediaPlayer::loadWithNextMediaEngine): Set privacy mode on new media engine.
3323         (WebCore::MediaPlayer::setPrivateBrowsingMode): Stash setting in m_privateBrowsing.
3324         * platform/graphics/MediaPlayer.h:
3325         * platform/graphics/MediaPlayerPrivate.h:
3326         (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):
3327
3328         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3329         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3330         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_privateBrowsing.
3331         (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Pass private browsing attribute when
3332             creating new movie.
3333         (WebCore::MediaPlayerPrivateQTKit::setPrivateBrowsingMode): New, store privacy setting in
3334             m_privateBrowsing and set movie attribute.
3335
3336         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3337         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
3338             Initialize m_privateBrowsing.
3339         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode): New, store 
3340             privacy setting in m_privateBrowsing and call QTMovie.
3341         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
3342
3343         * platform/graphics/win/QTMovie.cpp:
3344         (QTMoviePrivate::QTMoviePrivate): Initialize m_privateBrowsing.
3345         (QTMovie::load):Pass private browsing property when creating new movie.
3346         (QTMovie::setPrivateBrowsingMode):  New, store privacy setting in m_privateBrowsing and 
3347             set movie property.
3348         * platform/graphics/win/QTMovie.h:
3349
3350 2011-03-06  Daniel Bates  <dbates@rim.com>
3351
3352         Reviewed by Darin Adler.
3353
3354         style.borderSpacing always returns empty string
3355         https://bugs.webkit.org/show_bug.cgi?id=54816
3356
3357         Teach CSSMutableStyleDeclaration::getPropertyValue() how to reconstitute
3358         the value for border-spacing from the value of the WebKit internal CSS
3359         property -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
3360
3361         The CSS property border-spacing describes the horizontal and vertical border
3362         spacing for an HTML Table element. Notice, WebKit internally represents the value
3363         of this property as two properties: -webkit-border-horizontal-spacing and
3364         -webkit-border-vertical-spacing, for the horizontal and vertical border spacing,
3365         respectively. And WebKit doesn't know to reconstitute these internal properties.
3366         Therefore style.borderSpacing always returns the empty string.
3367
3368         Test: fast/css/table-border-spacing.html
3369
3370         * css/CSSMutableStyleDeclaration.cpp:
3371         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3372         (WebCore::CSSMutableStyleDeclaration::borderSpacingValue): Added.
3373         * css/CSSMutableStyleDeclaration.h:
3374
3375 2011-03-06  Dan Bernstein  <mitz@apple.com>
3376
3377         Reviewed by Oliver Hunt.
3378
3379         <rdar://problem/9093327> Implement -hyphenate-limit-{before,after}
3380         https://bugs.webkit.org/show_bug.cgi?id=55850
3381
3382         Tests: fast/css/parsing-hyphenate-limit.html
3383                fast/text/hyphenate-limit-before-after.html
3384
3385         * css/CSSComputedStyleDeclaration.cpp:
3386         (WebCore::computedProperties) Updated this array with the new properties and some old properties
3387         that it was missing.
3388         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
3389         CSSPropertyWebkitHyphenateLimit{Before,After}.
3390
3391         * css/CSSParser.cpp:
3392         (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-limit-{before,after}, allowing
3393         'auto' and non-negative integers.
3394
3395         * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-{before,after}.
3396
3397         * css/CSSStyleSelector.cpp:
3398         (WebCore::CSSStyleSelector::applyProperty): Handle CSSPropertyWebkitHyphenateLimit{Before,After}.
3399
3400         * rendering/RenderBlockLineLayout.cpp:
3401         (WebCore::tryHyphenating): Added minimum prefix and suffix length parameters and checks to only
3402         allow hyphenation if the prefix and the suffix are sufficiently long.
3403         (WebCore::RenderBlock::findNextLineBreak): Pass the limits to tryHyphenating().
3404
3405         * rendering/style/RenderStyle.cpp:
3406         (WebCore::RenderStyle::diff): A difference in hyphenation limits is a layout difference.
3407
3408         * rendering/style/RenderStyle.h:
3409         (WebCore::InheritedFlags::hyphenationLimitBefore): Added.
3410         (WebCore::InheritedFlags::hyphenationLimitAfter): Added.
3411         (WebCore::InheritedFlags::setHyphenationLimitBefore): Added.
3412         (WebCore::InheritedFlags::setHyphenationLimitAfter): Added.
3413         (WebCore::InheritedFlags::initialHyphenationLimitBefore): Added. Returns -1, which is the
3414         representation of 'auto'.
3415         (WebCore::InheritedFlags::initialHyphenationLimitAfter): Ditto.
3416
3417         * rendering/style/StyleRareInheritedData.cpp:
3418         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize hyphenation limits.
3419         (WebCore::StyleRareInheritedData::operator==): Compare hyphenation limits.
3420         * rendering/style/StyleRareInheritedData.h:
3421
3422 2011-03-06  Jessie Berlin  <jberlin@apple.com>
3423
3424         Reviewed by Sam Weinig.
3425
3426         WebKit2: Use CFNetwork Sessions API.
3427         https://bugs.webkit.org/show_bug.cgi?id=55435.
3428
3429         When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
3430         Private Browsing Storage Session.
3431
3432         * WebCore.exp.in:
3433         Add the new WKSI functions.
3434         * platform/mac/WebCoreSystemInterface.h:
3435         Ditto.
3436         * platform/mac/WebCoreSystemInterface.mm:
3437         Ditto.
3438
3439         * platform/mac/CookieJar.mm:
3440         (WebCore::cookies):
3441         If USE(CFURLSTORAGESESSIONS) and there is a Private Browsing Cookie Storage, call into WKSI.
3442         Otherwise, behave the same as before.
3443         (WebCore::cookieRequestHeaderFieldValue):
3444         Ditto.
3445         (WebCore::setCookies):
3446         Ditto.
3447         (WebCore::cookiesEnabled):
3448         Ditto
3449         (WebCore::getRawCookies):
3450         Ditto.
3451         (WebCore::deleteCookie):
3452         Ditto.
3453
3454         * platform/network/CookieStorage.h:
3455         * platform/network/cf/CookieStorageCFNet.cpp:
3456         (WebCore::privateBrowsingCookieStorage):
3457         Keep track of the Private Browsing Cookie Storage in a locally defined static inside a
3458         function instead of at the global scope.
3459         (WebCore::currentCookieStorage):
3460         Use privateBrowsingCookieStorage.
3461         (WebCore::setCurrentCookieStorage):
3462         Ditto.
3463         (WebCore::setCookieStoragePrivateBrowsingEnabled):
3464         If USE(CFURLSTORAGESESSIONS), send the Private Browsing Storage Session to
3465         wkCreatePrivateInMemoryHTTPCookieStorage.
3466         * platform/network/mac/CookieStorageMac.mm:
3467         (WebCore::privateBrowsingCookieStorage):
3468         Keep track of the Private Browsing Cookie Storage.
3469         (WebCore::setCookieStoragePrivateBrowsingEnabled):
3470         If USE(CFURLSTORAGESESSIONS), then set or clear privateBrowsingCookieStorage().
3471         Added a FIXME to observe changes to the Private Browsing Cookie Storage when it is defined.
3472
3473         * platform/network/mac/ResourceHandleMac.mm:
3474         (WebCore::shouldRelaxThirdPartyCookiePolicy):
3475         Refactor the logic to determine whether or not to relax the third party cookie policy here.
3476         If USE(CFURLSTORAGESESSIONS), then get the information from the privateBrowsingCookieStorage.
3477         (WebCore::ResourceHandle::createNSURLConnection):
3478         Use shouldRelaxThirdPartyCookiePolicy.
3479         (WebCore::ResourceHandle::loadResourceSynchronously):
3480         Ditto.
3481
3482 2011-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3483
3484         Unreviewed, rolling out r80428.
3485         http://trac.webkit.org/changeset/80428
3486         https://bugs.webkit.org/show_bug.cgi?id=55833
3487
3488         Broke SnowLeopard (Requested by xan_ on #webkit).
3489
3490         * plugins/gtk/PluginViewGtk.cpp:
3491         (WebCore::PluginView::handlePostReadFile):
3492
3493 2011-03-01  Martin Robinson  <mrobinson@igalia.com>
3494
3495         Reviewed by Xan Lopez.
3496
3497         [GTK] Windowless plugins override the view cursor
3498         https://bugs.webkit.org/show_bug.cgi?id=55531
3499
3500         manual test: manual-tests/plugins/windowless.html
3501
3502         * platform/gtk/WidgetGtk.cpp:
3503 &n