ASSERTION FAILED: !node || node->isShadowRoot() in WebCore::EventRetargeter::eventTar...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
2
3         ASSERTION FAILED: !node || node->isShadowRoot() in WebCore::EventRetargeter::eventTargetRespectingTargetRules
4         https://bugs.webkit.org/show_bug.cgi?id=119720
5
6         Reviewed by Andy Estes.
7
8         Merge https://chromium.googlesource.com/chromium/blink/+/4ce9bfbf54410179cd0f18b3d1a912045fc0ec3d
9
10         * dom/EventRetargeter.h:
11         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
12
13 2013-08-19  Darin Adler  <darin@apple.com>
14
15         <https://webkit.org/b/120013> Tighten up logic in HTMLTableRowsCollection
16
17         Reviewed by Andy Estes.
18
19         I was looking for incorrect uses of hasLocalName in places where hasTagName should be used.
20         The use in HTMLTableRowsCollection looked like that kind of mistake, but when I tried to
21         make a test case to show the mistake, I found I could not. So I wrote assertions to restate
22         what I learned, and removed an unneeded null check and tightened up the code a bit. This
23         should make code size slightly smaller.
24
25         * html/HTMLTableRowsCollection.cpp:
26         (WebCore::assertRowIsInTable): Added. Asserts that the row's position in the table is consistent
27         with the invariants of how the collection class works. A row that is processed here would have
28         to be an immediate child of the table, or an immediate child of a table section that in turn is
29         an immediate child of the table.
30         (WebCore::isInSection): Added. Replaces the three more-specific helper functions. Unlike those,
31         this does not do a null check.
32         (WebCore::HTMLTableRowsCollection::rowAfter): Changed to use the two new functions.
33
34 2013-08-19  Pratik Solanki  <psolanki@apple.com>
35
36         <https://webkit.org/b/119918> Frame::selection() should return a reference
37
38         Reviewed by Darin Adler.
39
40         m_selection is never NULL so return a reference from Frame::selection(). Also removed some
41         unnecessary null checks and assert diff ts exposed as a result.
42
43         * accessibility/AccessibilityRenderObject.cpp:
44         (WebCore::AccessibilityRenderObject::selection):
45         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
46         (WebCore::AccessibilityRenderObject::isFocused):
47         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
48         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
49         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
50         (-[WebAccessibilityObjectWrapper accessibilityModifySelection:increase:]):
51         (-[WebAccessibilityObjectWrapper accessibilityMoveSelectionToMarker:]):
52         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
53         (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
54         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
55         (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
56         * css/SelectorChecker.cpp:
57         (WebCore::SelectorChecker::isFrameFocused):
58         * dom/CharacterData.cpp:
59         (WebCore::CharacterData::setDataAndUpdate):
60         * dom/Document.cpp:
61         (WebCore::Document::nodeChildrenWillBeRemoved):
62         (WebCore::Document::nodeWillBeRemoved):
63         * dom/Element.cpp:
64         (WebCore::Element::updateFocusAppearance):
65         * editing/AlternativeTextController.cpp:
66         (WebCore::AlternativeTextController::stopPendingCorrection):
67         (WebCore::AlternativeTextController::applyAlternativeTextToRange):
68         (WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
69         (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
70         (WebCore::AlternativeTextController::timerFired):
71         (WebCore::AlternativeTextController::respondToChangedSelection):
72         * editing/DeleteButtonController.cpp:
73         (WebCore::DeleteButtonController::respondToChangedSelection):
74         (WebCore::DeleteButtonController::enable):
75         (WebCore::DeleteButtonController::deleteTarget):
76         * editing/DeleteSelectionCommand.cpp:
77         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
78         * editing/DictationCommand.cpp:
79         (WebCore::DictationCommand::insertText):
80         * editing/EditCommand.cpp:
81         (WebCore::EditCommand::EditCommand):
82         * editing/EditingStyle.cpp:
83         (WebCore::EditingStyle::mergeTypingStyle):
84         * editing/Editor.cpp:
85         (WebCore::Editor::selectionForCommand):
86         (WebCore::Editor::canEdit):
87         (WebCore::Editor::canEditRichly):
88         (WebCore::Editor::canDHTMLCut):
89         (WebCore::Editor::canDHTMLCopy):
90         (WebCore::Editor::canCopy):
91         (WebCore::Editor::canDelete):
92         (WebCore::Editor::canSmartCopyOrDelete):
93         (WebCore::Editor::deleteWithDirection):
94         (WebCore::Editor::deleteSelectionWithSmartDelete):
95         (WebCore::Editor::replaceSelectionWithFragment):
96         (WebCore::Editor::selectedRange):
97         (WebCore::Editor::tryDHTMLCopy):
98         (WebCore::Editor::tryDHTMLCut):
99         (WebCore::Editor::hasBidiSelection):
100         (WebCore::Editor::selectionUnorderedListState):
101         (WebCore::Editor::selectionOrderedListState):
102         (WebCore::Editor::increaseSelectionListLevel):
103         (WebCore::Editor::increaseSelectionListLevelOrdered):
104         (WebCore::Editor::increaseSelectionListLevelUnordered):
105         (WebCore::Editor::decreaseSelectionListLevel):
106         (WebCore::Editor::findEventTargetFromSelection):
107         (WebCore::Editor::applyStyle):
108         (WebCore::Editor::applyParagraphStyle):
109         (WebCore::Editor::applyStyleToSelection):
110         (WebCore::Editor::applyParagraphStyleToSelection):
111         (WebCore::Editor::selectionStartHasStyle):
112         (WebCore::Editor::selectionHasStyle):
113         (WebCore::Editor::selectionStartCSSPropertyValue):
114         (WebCore::Editor::appliedEditing):
115         (WebCore::Editor::insertTextWithoutSendingTextEvent):
116         (WebCore::Editor::insertLineBreak):
117         (WebCore::Editor::insertParagraphSeparator):
118         (WebCore::Editor::cut):
119         (WebCore::Editor::copy):
120         (WebCore::Editor::paste):
121         (WebCore::Editor::baseWritingDirectionForSelectionStart):
122         (WebCore::Editor::selectComposition):
123         (WebCore::Editor::setComposition):
124         (WebCore::Editor::ignoreSpelling):
125         (WebCore::Editor::learnSpelling):
126         (WebCore::Editor::advanceToNextMisspelling):
127         (WebCore::Editor::misspelledWordAtCaretOrRange):
128         (WebCore::Editor::isSelectionUngrammatical):
129         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
130         (WebCore::Editor::markMisspellingsAfterTypingToWord):
131         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
132         (WebCore::Editor::markAndReplaceFor):
133         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
134         (WebCore::Editor::revealSelectionAfterEditingOperation):
135         (WebCore::Editor::getCompositionSelection):
136         (WebCore::Editor::transpose):
137         (WebCore::Editor::changeSelectionAfterCommand):
138         (WebCore::Editor::selectedText):
139         (WebCore::Editor::computeAndSetTypingStyle):
140         (WebCore::Editor::findString):
141         (WebCore::Editor::respondToChangedSelection):
142         (WebCore::Editor::selectionStartHasMarkerFor):
143         (WebCore::Editor::toggleOverwriteModeEnabled):
144         * editing/EditorCommand.cpp:
145         (WebCore::executeToggleStyleInList):
146         (WebCore::expandSelectionToGranularity):
147         (WebCore::stateTextWritingDirection):
148         (WebCore::executeDelete):
149         (WebCore::executeDeleteToMark):
150         (WebCore::executeMoveBackward):
151         (WebCore::executeMoveBackwardAndModifySelection):
152         (WebCore::executeMoveDown):
153         (WebCore::executeMoveDownAndModifySelection):
154         (WebCore::executeMoveForward):
155         (WebCore::executeMoveForwardAndModifySelection):
156         (WebCore::executeMoveLeft):
157         (WebCore::executeMoveLeftAndModifySelection):
158         (WebCore::executeMovePageDown):
159         (WebCore::executeMovePageDownAndModifySelection):
160         (WebCore::executeMovePageUp):
161         (WebCore::executeMovePageUpAndModifySelection):
162         (WebCore::executeMoveRight):
163         (WebCore::executeMoveRightAndModifySelection):
164         (WebCore::executeMoveToBeginningOfDocument):
165         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
166         (WebCore::executeMoveToBeginningOfLine):
167         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
168         (WebCore::executeMoveToBeginningOfParagraph):
169         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
170         (WebCore::executeMoveToBeginningOfSentence):
171         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
172         (WebCore::executeMoveToEndOfDocument):
173         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
174         (WebCore::executeMoveToEndOfSentence):
175         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
176         (WebCore::executeMoveToEndOfLine):
177         (WebCore::executeMoveToEndOfLineAndModifySelection):
178         (WebCore::executeMoveToEndOfParagraph):
179         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
180         (WebCore::executeMoveParagraphBackwardAndModifySelection):
181         (WebCore::executeMoveParagraphForwardAndModifySelection):
182         (WebCore::executeMoveUp):
183         (WebCore::executeMoveUpAndModifySelection):
184         (WebCore::executeMoveWordBackward):
185         (WebCore::executeMoveWordBackwardAndModifySelection):
186         (WebCore::executeMoveWordForward):
187         (WebCore::executeMoveWordForwardAndModifySelection):
188         (WebCore::executeMoveWordLeft):
189         (WebCore::executeMoveWordLeftAndModifySelection):
190         (WebCore::executeMoveWordRight):
191         (WebCore::executeMoveWordRightAndModifySelection):
192         (WebCore::executeMoveToLeftEndOfLine):
193         (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
194         (WebCore::executeMoveToRightEndOfLine):
195         (WebCore::executeMoveToRightEndOfLineAndModifySelection):
196         (WebCore::executeSelectAll):
197         (WebCore::executeSelectToMark):
198         (WebCore::executeSetMark):
199         (WebCore::executeSwapWithMark):
200         (WebCore::executeUnselect):
201         (WebCore::enabledInRichlyEditableText):
202         (WebCore::enabledRangeInEditableText):
203         (WebCore::enabledRangeInRichlyEditableText):
204         (WebCore::valueFormatBlock):
205         * editing/FrameSelection.cpp:
206         (WebCore::FrameSelection::setSelection):
207         (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
208         * editing/InsertLineBreakCommand.cpp:
209         (WebCore::InsertLineBreakCommand::doApply):
210         * editing/InsertTextCommand.cpp:
211         (WebCore::InsertTextCommand::doApply):
212         * editing/ModifySelectionListLevel.cpp:
213         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
214         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
215         * editing/RemoveFormatCommand.cpp:
216         (WebCore::RemoveFormatCommand::doApply):
217         * editing/ReplaceSelectionCommand.cpp:
218         (WebCore::ReplaceSelectionCommand::doApply):
219         * editing/SetSelectionCommand.cpp:
220         (WebCore::SetSelectionCommand::doApply):
221         (WebCore::SetSelectionCommand::doUnapply):
222         * editing/SpellingCorrectionCommand.cpp:
223         (WebCore::SpellingCorrectionCommand::doApply):
224         * editing/TextInsertionBaseCommand.cpp:
225         (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand):
226         * editing/TypingCommand.cpp:
227         (WebCore::TypingCommand::deleteSelection):
228         (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection):
229         (WebCore::TypingCommand::insertText):
230         (WebCore::TypingCommand::deleteKeyPressed):
231         (WebCore::TypingCommand::forwardDeleteKeyPressed):
232         * editing/ios/EditorIOS.mm:
233         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
234         (WebCore::styleForSelectionStart):
235         (WebCore::Editor::fontForSelection):
236         * editing/mac/EditorMac.mm:
237         (WebCore::styleForSelectionStart):
238         (WebCore::Editor::fontForSelection):
239         (WebCore::Editor::canCopyExcludingStandaloneImages):
240         (WebCore::Editor::readSelectionFromPasteboard):
241         * html/HTMLAnchorElement.cpp:
242         (WebCore::HTMLAnchorElement::defaultEventHandler):
243         (WebCore::HTMLAnchorElement::setActive):
244         * html/HTMLInputElement.cpp:
245         (WebCore::HTMLInputElement::updateFocusAppearance):
246         * html/HTMLTextAreaElement.cpp:
247         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
248         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
249         * html/HTMLTextFormControlElement.cpp:
250         (WebCore::HTMLTextFormControlElement::setSelectionRange):
251         (WebCore::HTMLTextFormControlElement::computeSelectionStart):
252         (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
253         (WebCore::HTMLTextFormControlElement::computeSelectionDirection):
254         (WebCore::HTMLTextFormControlElement::selectionChanged):
255         * html/TextFieldInputType.cpp:
256         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
257         * loader/FrameLoader.cpp:
258         (WebCore::FrameLoader::clear):
259         * loader/archive/cf/LegacyWebArchive.cpp:
260         (WebCore::LegacyWebArchive::createFromSelection):
261         * page/ContextMenuController.cpp:
262         (WebCore::insertUnicodeCharacter):
263         (WebCore::ContextMenuController::contextMenuItemSelected):
264         (WebCore::selectionContainsPossibleWord):
265         (WebCore::ContextMenuController::populate):
266         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
267         * page/DOMSelection.cpp:
268         (WebCore::selectionShadowAncestor):
269         (WebCore::DOMSelection::visibleSelection):
270         (WebCore::DOMSelection::isCollapsed):
271         (WebCore::DOMSelection::type):
272         (WebCore::DOMSelection::rangeCount):
273         (WebCore::DOMSelection::collapse):
274         (WebCore::DOMSelection::collapseToEnd):
275         (WebCore::DOMSelection::collapseToStart):
276         (WebCore::DOMSelection::empty):
277         (WebCore::DOMSelection::setBaseAndExtent):
278         (WebCore::DOMSelection::setPosition):
279         (WebCore::DOMSelection::modify):
280         (WebCore::DOMSelection::extend):
281         (WebCore::DOMSelection::getRangeAt):
282         (WebCore::DOMSelection::removeAllRanges):
283         (WebCore::DOMSelection::addRange):
284         (WebCore::DOMSelection::deleteFromDocument):
285         (WebCore::DOMSelection::containsNode):
286         (WebCore::DOMSelection::toString):
287         * page/DragController.cpp:
288         (WebCore::DragController::dragIsMove):
289         (WebCore::setSelectionToDragCaret):
290         (WebCore::DragController::concludeEditDrag):
291         (WebCore::DragController::draggableElement):
292         (WebCore::selectElement):
293         (WebCore::dragLocForSelectionDrag):
294         (WebCore::DragController::startDrag):
295         * page/DragController.h:
296         * page/EventHandler.cpp:
297         (WebCore::setSelectionIfNeeded):
298         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
299         (WebCore::EventHandler::handleMousePressEventDoubleClick):
300         (WebCore::EventHandler::handleMousePressEventSingleClick):
301         (WebCore::EventHandler::updateSelectionForMouseDrag):
302         (WebCore::EventHandler::lostMouseCapture):
303         (WebCore::EventHandler::handleMouseReleaseEvent):
304         (WebCore::nodeIsNotBeingEdited):
305         (WebCore::EventHandler::selectCursor):
306         (WebCore::EventHandler::handleMousePressEvent):
307         (WebCore::EventHandler::handleMouseDoubleClickEvent):
308         (WebCore::EventHandler::dispatchMouseEvent):
309         (WebCore::EventHandler::sendContextMenuEvent):
310         (WebCore::EventHandler::sendContextMenuEventForKey):
311         (WebCore::handleKeyboardSelectionMovement):
312         (WebCore::EventHandler::handleDrag):
313         * page/FocusController.cpp:
314         (WebCore::FocusController::setFocusedFrame):
315         (WebCore::FocusController::setFocused):
316         (WebCore::FocusController::advanceFocusInDocumentOrder):
317         (WebCore::clearSelectionIfNeeded):
318         (WebCore::FocusController::setActive):
319         * page/Frame.cpp:
320         (WebCore::Frame::dragImageForSelection):
321         * page/Frame.h:
322         (WebCore::Frame::selection):
323         * page/FrameView.cpp:
324         (WebCore::FrameView::performPostLayoutTasks):
325         (WebCore::FrameView::paintContentsForSnapshot):
326         * page/Page.cpp:
327         (WebCore::Page::findString):
328         (WebCore::Page::findStringMatchingRanges):
329         (WebCore::Page::selection):
330         * page/mac/FrameMac.mm:
331         (WebCore::Frame::dragImageForSelection):
332         * page/mac/FrameSnapshottingMac.mm:
333         (WebCore::selectionImage):
334         * page/win/FrameWin.cpp:
335         (WebCore::imageFromSelection):
336         (WebCore::Frame::dragImageForSelection):
337         * platform/ios/PasteboardIOS.mm:
338         (WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
339         * rendering/HitTestResult.cpp:
340         (WebCore::HitTestResult::isSelected):
341         * rendering/RenderBlock.cpp:
342         (WebCore::RenderBlock::paintCaret):
343         * rendering/RenderImage.cpp:
344         (WebCore::RenderImage::paintAreaElementFocusRing):
345         * rendering/RenderLayer.cpp:
346         (WebCore::RenderLayer::scrollTo):
347         * rendering/RenderListBox.cpp:
348         (WebCore::RenderListBox::paintItemForeground):
349         (WebCore::RenderListBox::paintItemBackground):
350         * rendering/RenderObject.cpp:
351         (WebCore::RenderObject::selectionBackgroundColor):
352         (WebCore::RenderObject::selectionColor):
353         * rendering/RenderTextControlSingleLine.cpp:
354         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
355         * rendering/RenderTheme.cpp:
356         (WebCore::RenderTheme::isFocused):
357         * rendering/RenderThemeWin.cpp:
358         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
359         * rendering/RenderTreeAsText.cpp:
360         (WebCore::writeSelection):
361         * rendering/RenderView.cpp:
362         (WebCore::RenderView::setSelection):
363         * svg/SVGSVGElement.cpp:
364         (WebCore::SVGSVGElement::deselectAll):
365         * svg/SVGTextContentElement.cpp:
366         (WebCore::SVGTextContentElement::selectSubString):
367         * testing/Internals.cpp:
368         (WebCore::Internals::absoluteCaretBounds):
369         (WebCore::Internals::selectionBounds):
370
371 2013-08-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
372
373         <https://webkit.org/b/119679> Remove the cast-align warnings for ARM
374
375         Reviewed by Darin Adler.
376
377         While compiling WebKitGTK+ for ARM a lot of warnings of this form
378         where shown (gcc 4.7.3):
379
380         ../../Source/WebCore/css/StylePropertySet.h: In member function 'const WebCore::StylePropertyMetadata* WebCore::ImmutableStylePropertySet::metadataArray() const':
381 ../../Source/WebCore/css/StylePropertySet.h:179:142: warning: cast from 'const char*' to 'const WebCore::StylePropertyMetadata*' increases required alignment of target type [-Wcast-align]
382
383         This patch changes reinterpret_cast<>() for reinterpret_cast_ptr<>()
384         which is part of WTF for this purpose, silencing the compiler.
385
386         * css/StylePropertySet.h:
387         (WebCore::ImmutableStylePropertySet::metadataArray):
388
389 2013-08-19  Antti Koivisto  <antti@apple.com>
390
391         <https://webkit.org/b/120014> REGRESSION(r154268): Some stylesheet media attribute tests failing
392
393         Reviewed by Dan Bernstein.
394
395         * html/HTMLStyleElement.cpp:
396         (WebCore::HTMLStyleElement::parseAttribute): Always set the media on InlineStyleSheetOwner.
397
398 2013-08-19  Chris Fleizach  <cfleizach@apple.com>
399
400         <https://webkit.org/b/119916> AX: WebKit is not exposing AXLanguage correctly
401
402         Reviewed by Darin Adler.
403
404         Expose the AXLanguage attribute for all objects.
405
406         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
407         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
408
409 2013-08-19  Brent Fulgham  <bfulgham@apple.com>
410
411         [Windows] Unreviewed gardening.
412
413         * WebCore.vcxproj/WebCore.vcxproj: Add missing header for easy access/editing.
414         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
415
416 2013-08-19  Mario Sanchez Prada  <mario.prada@samsung.com>
417
418         <https://webkit.org/b/119882> Speed up moving cursor/selection up or down past non-rendered elements.
419
420         Reviewed by Darin Adler.
421
422         This is a port from Blink originally written by Dominic Mazzoni:
423         https://src.chromium.org/viewvc/blink?revision=154977&view=revision
424
425         From the original commit:
426
427         Skips calling firstPositionInOrBeforeNode when a node doesn't have a
428         renderer, since there couldn't possibly be a visible position there.
429         This was particularly wasteful when trying to move the cursor up when at
430         the beginning of a document, as it did a O(n^2) scan through the document head.
431
432         Test: editing/execCommand/move-up-down-should-skip-hidden-elements.html
433
434         * editing/VisibleUnits.cpp:
435         (WebCore::previousRootInlineBoxCandidatePosition): Updated.
436         (WebCore::nextRootInlineBoxCandidatePosition): Updates.
437
438 2013-08-19  Andreas Kling  <akling@apple.com>
439
440         <https://webkit.org/b/120000> Chrome::client() should return a reference.
441
442         Reviewed by Antti Koivisto.
443
444         Chrome::m_client should never be null.
445
446 2013-08-19  Antti Koivisto  <antti@apple.com>
447
448         <https://webkit.org/b/120004> Rename StyleElement to InlineStyleSheetOwner and stop inheriting from it
449
450         Reviewed by Andreas Kling.
451         
452         Saner names and class relations.
453
454         * CMakeLists.txt:
455         * GNUmakefile.list.am:
456         * Target.pri:
457         * WebCore.vcxproj/WebCore.vcxproj:
458         * WebCore.xcodeproj/project.pbxproj:
459         * dom/DOMAllInOne.cpp:
460         * dom/InlineStyleSheetOwner.cpp: Copied from Source/WebCore/dom/StyleElement.cpp.
461         (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
462         (WebCore::InlineStyleSheetOwner::~InlineStyleSheetOwner):
463         (WebCore::InlineStyleSheetOwner::insertedIntoDocument):
464         (WebCore::InlineStyleSheetOwner::removedFromDocument):
465         (WebCore::InlineStyleSheetOwner::clearDocumentData):
466         (WebCore::InlineStyleSheetOwner::childrenChanged):
467         (WebCore::InlineStyleSheetOwner::finishParsingChildren):
468         (WebCore::InlineStyleSheetOwner::createSheetFromTextContents):
469         (WebCore::InlineStyleSheetOwner::clearSheet):
470         (WebCore::InlineStyleSheetOwner::createSheet):
471         (WebCore::InlineStyleSheetOwner::isLoading):
472         (WebCore::InlineStyleSheetOwner::sheetLoaded):
473         (WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
474         * dom/InlineStyleSheetOwner.h: Copied from Source/WebCore/dom/StyleElement.h.
475         * dom/StyleElement.cpp: Removed.
476         * dom/StyleElement.h: Removed.
477         * html/HTMLStyleElement.cpp:
478         (WebCore::HTMLStyleElement::HTMLStyleElement):
479         (WebCore::HTMLStyleElement::~HTMLStyleElement):
480         (WebCore::HTMLStyleElement::parseAttribute):
481         (WebCore::HTMLStyleElement::finishParsingChildren):
482         (WebCore::HTMLStyleElement::insertedInto):
483         (WebCore::HTMLStyleElement::removedFrom):
484         (WebCore::HTMLStyleElement::childrenChanged):
485         * html/HTMLStyleElement.h:
486         * svg/SVGStyleElement.cpp:
487         (WebCore::SVGStyleElement::SVGStyleElement):
488         (WebCore::SVGStyleElement::~SVGStyleElement):
489         (WebCore::SVGStyleElement::parseAttribute):
490         (WebCore::SVGStyleElement::finishParsingChildren):
491         (WebCore::SVGStyleElement::insertedInto):
492         (WebCore::SVGStyleElement::removedFrom):
493         (WebCore::SVGStyleElement::childrenChanged):
494         * svg/SVGStyleElement.h:
495
496 2013-08-19  Allan Sandfeld Jensen  <allan.jensen@digia.com>
497
498         [Qt] QtWebKit (using the Arora browser) displays the border radii (radius) of a button very ugly
499         https://bugs.webkit.org/show_bug.cgi?id=28113
500
501         Reviewed by Jocelyn Turcotte.
502
503         StylePainter::init() was called twice making it clobber the previous antialiasing setting.
504
505         This patch cleans up the construction so we only have one constructor with init inlined.
506
507         * platform/qt/RenderThemeQStyle.cpp:
508         (WebCore::StylePainterQStyle::StylePainterQStyle):
509         (WebCore::StylePainterQStyle::setupStyleOption):
510         * platform/qt/RenderThemeQStyle.h:
511         * platform/qt/RenderThemeQt.cpp:
512         (WebCore::StylePainter::StylePainter):
513         * platform/qt/RenderThemeQt.h:
514         * platform/qt/RenderThemeQtMobile.cpp:
515         (WebCore::StylePainterMobile::StylePainterMobile):
516
517 2013-08-19  Julien Brianceau  <jbrianceau@nds.com>
518
519         <https://webkit.org/b/119998> [Qt] Build fix (broken since r154257).
520
521         Reviewed by Andreas Kling.
522
523         Element::attach() doesn't exist anymore since r154257.
524
525         * xml/parser/XMLDocumentParserQt.cpp:
526         (WebCore::XMLDocumentParser::parseStartElement):
527
528 2013-08-19  Antti Koivisto  <antti@apple.com>
529
530         <https://webkit.org/b/120001> Clean up StyleElement
531
532         Reviewed by Andreas Kling.
533
534         - Make it non-virtual so we don't use virtual multiple inheritance
535         - Improve names
536         - Improve code clarity
537
538         * dom/StyleElement.cpp:
539         (WebCore::StyleElement::StyleElement):
540         (WebCore::StyleElement::insertedIntoDocument):
541         (WebCore::StyleElement::clearDocumentData):
542         (WebCore::StyleElement::childrenChanged):
543         (WebCore::StyleElement::finishParsingChildren):
544         (WebCore::StyleElement::createSheetFromTextContents):
545         (WebCore::isValidCSSContentType):
546         (WebCore::StyleElement::createSheet):
547         (WebCore::StyleElement::isLoading):
548         * dom/StyleElement.h:
549         (WebCore::StyleElement::setStyleSheetContentType):
550         (WebCore::StyleElement::setStyleSheetMedia):
551         * html/HTMLStyleElement.cpp:
552         (WebCore::HTMLStyleElement::parseAttribute):
553         * html/HTMLStyleElement.h:
554         * svg/SVGStyleElement.cpp:
555         (WebCore::SVGStyleElement::isSupportedAttribute):
556         (WebCore::SVGStyleElement::parseAttribute):
557         * svg/SVGStyleElement.h:
558
559 2013-08-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
560
561         <https://webkit.org/b/119990> Add toSVGStopElement(Node* node) to clean-up a static_cast<SVGStopElement*>
562
563         Reviewed by Darin Adler.
564
565         Clean up remained static_cast<SVGStopElement*> using toSVGStopElement(toSVGElement()).
566
567         * rendering/svg/SVGRenderTreeAsText.cpp:
568         (WebCore::writeSVGGradientStop):
569
570 2013-08-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
571
572         <https://webkit.org/b/119996> Introduce toSVGAnimateElement(), and use it
573
574         Reviewed by Andreas Kling.
575
576         As a step to clean-up static_cast<SVGXXX>, static_cast<SVGAnimateElement*> also can be changed
577         with toSVGAnimateElement().
578
579         * svg/SVGAnimateElement.cpp:
580         (WebCore::SVGAnimateElement::calculateAnimatedValue):
581         * svg/SVGAnimateElement.h:
582         (WebCore::toSVGAnimateElement):
583         * svg/SVGAnimationElement.cpp:
584         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
585
586 2013-08-19  Andreas Kling  <akling@apple.com>
587
588         <https://webkit.org/b/119997> Page::progress() should return a reference.
589
590         Reviewed by Antti Koivisto.
591
592         Page::m_progress is never null.
593
594 2013-08-18  Darin Adler  <darin@apple.com>
595
596         <https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error
597
598         Reviewed by Sam Weinig.
599
600         * dom/Element.h: Deleted the ownerDocument function. For compilers that don't support
601         deleted functions, it is instead overrides the base class function with one that is
602         private and not defined, which accomplishes almost the same thing: An error, either
603         at compile time or link time.
604
605         * bindings/js/JSHTMLElementCustom.cpp:
606         (WebCore::JSHTMLElement::pushEventHandlerScope): Use document instead of ownerDocument.
607         * dom/Document.cpp:
608         (WebCore::Document::~Document): Added a comment about this clearly-incorrect code.
609         * inspector/InspectorInstrumentation.h:
610         (WebCore::InspectorInstrumentation::didPushShadowRoot): Use document instead of ownerDocument.
611         (WebCore::InspectorInstrumentation::willPopShadowRoot): Ditto.
612         * inspector/InspectorStyleSheet.cpp:
613         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): Ditto.
614         * plugins/PluginView.cpp:
615         (WebCore::getFrame): Removed ineffective call to ownerDocument after document when it
616         returns 0. It will never return anything other than 0 in that case.
617         * rendering/RenderVideo.cpp:
618         (WebCore::RenderVideo::calculateIntrinsicSize): Use document instead of ownerDocument.
619         Did not remove the null check at this time, although I'm pretty sure it's bogus. We can
620         fix that when/if we change the return type of Element::document to a reference.
621         * svg/SVGFEImageElement.cpp:
622         (WebCore::SVGFEImageElement::requestImageResource): Use document instead of ownerDocument.
623
624 2013-08-18  Darin Adler  <darin@apple.com>
625
626         <https://webkit.org/b/119993> Remove most remaining platform-specific code from Clipboard class
627
628         Reviewed by Sam Weinig.
629
630         * GNUmakefile.list.am: Removed ClipboardGtk.cpp.
631         * PlatformEfl.cmake: Removed ClipboardEfl.cpp.
632         * PlatformGTK.cmake: Removed ClipboardGtk.cpp.
633         * PlatformWinCE.cmake: Removed ClipboardWin.cpp.
634         * Target.pri: Removed ClipboardQt.cpp.
635         * WebCore.vcxproj/WebCore.vcxproj: Removed ClipboardWin.cpp and ClipboardWin.h.
636         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed ClipboardWin.cpp and ClipboardWin.h.
637
638         * dom/Clipboard.cpp:
639         (WebCore::Clipboard::createDragImage): Added. Version that works for all platforms
640         other than Mac, identical to the old one used in GTK and Qt, and close to the one used
641         on Windows.
642
643         * platform/mac/ClipboardMac.mm: Trimmed includes down, and added a FIXME about next steps.
644
645         * platform/qt/DataTransferItemListQt.h: Removed "friend class ClipboardQt", which refers
646         to a now-nonexistent class.
647
648         * platform/efl/ClipboardEfl.cpp: Removed.
649         * platform/gtk/ClipboardGtk.cpp: Removed.
650         * platform/qt/ClipboardQt.cpp: Removed.
651         * platform/win/ClipboardWin.cpp: Removed.
652
653 2013-08-17  Darin Adler  <darin@apple.com>
654
655         <https://webkit.org/b/119949> Factor Clipboard into drag and non-drag parts
656
657         Reviewed by Sam Weinig.
658
659         * dom/Clipboard.cpp:
660         (WebCore::Clipboard::Clipboard): Move the ClipboardType argument to go after the pasteboard.
661         Initialize strings more efficiently. Put drag-specific data members inside an if statement.
662         Replace m_clipboardType with m_forDrag.
663         (WebCore::Clipboard::createForCopyAndPaste): Moved function up to be close to constructor.
664         Removed explicit clipboard type since constructor now defaults to copy and paste style.
665         (WebCore::Clipboard::setAccessPolicy): Tweaked comment.
666         (WebCore::Clipboard::getData): Put drag-specific code inside #if ENABLE(DRAG_SUPPORT).
667         (WebCore::Clipboard::setData): Ditto.
668         (WebCore::Clipboard::files): Ditto.
669         (WebCore::Clipboard::dropEffect): Added trivial non-drag versions of these functions to
670         be used when !ENABLE(DRAG_SUPPORT).
671         (WebCore::Clipboard::setDropEffect): Ditto.
672         (WebCore::Clipboard::effectAllowed): Ditto.
673         (WebCore::Clipboard::setEffectAllowed): Ditto.
674         (WebCore::Clipboard::createForDragAndDrop): Renamed Clipboard::create that takes DragData
675         to this, and kep the overload that does not as well. Made the DragData argument a const&.
676         (WebCore::Clipboard::canSetDragImage): Moved down here since it is drag-specific.
677         (WebCore::Clipboard::updateDragImage): Use m_shouldUpdateDragImage directly insted of
678         calling a dragStarted function.
679         (WebCore::dragOpFromIEOp): Moved this function down here to the drag-specific section.
680         (WebCore::IEOpFromDragOp): Ditto.
681         (WebCore::Clipboard::sourceOperation): Ditto.
682         (WebCore::Clipboard::destinationOperation): Ditto.
683         (WebCore::Clipboard::setSourceOperation): Ditto.
684         (WebCore::Clipboard::setDestinationOperation): Ditto.
685
686         * dom/Clipboard.h: Removed unneeded include of "Node.h" and added and removed forward
687         class declarations as required. Removed non-helpful comment. Made ClipboardType a private
688         implementation detail. Moved functions that are not part of the DOM API down to a separate
689         section lower down in the class, and sorted the functions to match the order they appear
690         in the IDL file. Removed isForCopyAndPaste and isForDragAndDrop. Changed dropEffect and
691         effectAllowed to not be inlined. Moved the long comment before canSetDragImage into the
692         implementation since it's an implementation detail. Since this class is no longer polymorphic,
693         use only private, not protected. Make m_dragImageElement an Element, not a Node.
694
695         * dom/Clipboard.idl: Removed flags to tell bindings how to deal with null strings, since
696         these string properties can never return null strings anyway.
697
698         * page/DragController.cpp:
699         (WebCore::DragController::dragExited): Updated to call the new createForDragAndDrop function.
700         (WebCore::DragController::performDrag): Ditto.
701         (WebCore::DragController::tryDHTMLDrag): Ditto.
702
703         * platform/mac/ClipboardMac.mm: Added now-needed include of Element.h since Clipboard.h no
704         longer includes it.
705
706 2013-08-18  David Kilzer  <ddkilzer@apple.com>
707
708         WebCore fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
709         <http://webkit.org/b/119932>
710         <rdar://problem/14764085>
711
712         Reviewed by Darin Adler.
713
714         Add pragma statements to ignore -Wdeprecated-register warnings
715         in generated code.  Also ignore -Wunknown-pragmas so this
716         doesn't cause a build failure in older versions of clang.
717
718         * css/makeprop.pl:
719         (WebCore::findProperty): Remove register hints from parameters.
720         * css/makevalues.pl:
721         (WebCore::findValue): Ditto.
722         * platform/ColorData.gperf:
723         (WebCore::findColor): Ditto.
724
725 2013-08-18  Antti Koivisto  <antti@apple.com>
726
727         <https://webkit.org/b/119987> Make Element::attach standalone function
728
729         Reviewed by Andreas Kling.
730
731         This patch turns Element::attach() and the related functions into standalone functions.
732
733         * dom/ContainerNode.cpp:
734         (WebCore::attachChild):
735         (WebCore::detachChild):
736         * dom/ContainerNode.h:
737         * dom/Document.cpp:
738         (WebCore::Document::attach):
739         (WebCore::Document::detach):
740         * dom/Element.cpp:
741         (WebCore::Element::~Element):
742         (WebCore::Element::lazyReattach):
743         (WebCore::Element::removeShadowRoot):
744         
745             Shadow root should be detached by now. Remove the detach call.
746
747         (WebCore::Element::updateFocusAppearanceAfterAttachIfNeeded):
748         (WebCore::Element::updatePseudoElement):
749         (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
750         (WebCore::Element::clearHoverAndActiveStatusBeforeDetachingRenderer):
751         
752             Factor some parts of former Element::attach/detach() into member functions.
753
754         * dom/Element.h:
755         * dom/ElementRareData.h:
756         (WebCore::ElementRareData::releasePseudoElement):
757         * dom/NodeRenderingContext.cpp:
758         (WebCore::NodeRenderingContext::NodeRenderingContext):
759         * dom/NodeRenderingContext.h:
760         * dom/ShadowRoot.cpp:
761         * dom/ShadowRoot.h:
762         * html/HTMLDetailsElement.cpp:
763         (WebCore::HTMLDetailsElement::parseAttribute):
764         * html/HTMLInputElement.cpp:
765         (WebCore::HTMLInputElement::updateType):
766         (WebCore::HTMLInputElement::parseAttribute):
767         * html/HTMLObjectElement.cpp:
768         (WebCore::HTMLObjectElement::renderFallbackContent):
769         * html/HTMLPlugInImageElement.cpp:
770         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
771         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
772         * html/HTMLSelectElement.cpp:
773         (WebCore::HTMLSelectElement::parseAttribute):
774         (WebCore::HTMLSelectElement::parseMultipleAttribute):
775         * html/HTMLViewSourceDocument.cpp:
776         (WebCore::HTMLViewSourceDocument::createContainingTable):
777         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
778         (WebCore::HTMLViewSourceDocument::addLine):
779         (WebCore::HTMLViewSourceDocument::finishLine):
780         (WebCore::HTMLViewSourceDocument::addBase):
781         (WebCore::HTMLViewSourceDocument::addLink):
782         * html/parser/HTMLConstructionSite.cpp:
783         (WebCore::executeTask):
784         * html/parser/HTMLTreeBuilder.cpp:
785         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
786         * html/shadow/InsertionPoint.cpp:
787         (WebCore::InsertionPoint::willAttachRenderers):
788         (WebCore::InsertionPoint::willDetachRenderers):
789         * loader/PlaceholderDocument.cpp:
790         (WebCore::PlaceholderDocument::attach):
791         * style/StyleResolveTree.cpp:
792         (WebCore::Style::createRendererIfNeeded):
793         
794             From Element::createRendererIfNeeded()
795
796         (WebCore::Style::attachShadowRoot):
797         
798             From ShadowRoot::attach()
799
800         (WebCore::Style::childAttachedAllowedWhenAttachingChildren):
801         (WebCore::Style::attachChildren):
802         
803             From Element::attachChildren()
804
805         (WebCore::Style::attachRenderTree):
806         
807             From Element::attach()
808
809         (WebCore::Style::detachShadowRoot):
810         
811             From ShadowRoot::detach()
812
813         (WebCore::Style::detachChildren):
814         
815             From Element::detachChildren()
816
817         (WebCore::Style::detachRenderTree):
818         
819             From Element::deatach()
820
821         (WebCore::Style::reattachRenderTree):
822         
823              From Element::reattach()
824
825         (WebCore::Style::resolveLocal):
826         * style/StyleResolveTree.h:
827         (WebCore::Style::AttachContext::AttachContext):
828         
829             From Element::AttachContext
830
831         * svg/SVGTests.cpp:
832         (WebCore::SVGTests::handleAttributeChange):
833         * xml/XMLErrors.cpp:
834         (WebCore::XMLErrors::insertErrorMessageBlock):
835         * xml/parser/XMLDocumentParserLibxml2.cpp:
836         (WebCore::XMLDocumentParser::startElementNs):
837
838 2013-08-18  Antti Koivisto  <antti@apple.com>
839
840         Fix crashing plugin tests caused by a logic error in the previous patch.
841         
842         Not reviewed.
843
844         * html/HTMLPlugInImageElement.cpp:
845         (WebCore::HTMLPlugInImageElement::willDetachRenderers):
846
847 2013-08-18  Antti Koivisto  <antti@apple.com>
848
849         <https://webkit.org/b/119982> Make Element::attach non-virtual
850
851         Reviewed by Andreas Kling.
852
853         This will give us more future refactoring options.
854
855         * dom/Element.cpp:
856         (WebCore::Element::attach):
857         (WebCore::Element::detach):
858         
859             Make non-virtual. Call element type specific custom functions as needed.
860
861         (WebCore::Element::styleForRenderer):
862         (WebCore::Element::willRecalcStyle):
863         (WebCore::Element::didRecalcStyle):
864         (WebCore::Element::willAttachRenderers):
865         (WebCore::Element::didAttachRenderers):
866         (WebCore::Element::willDetachRenderers):
867         (WebCore::Element::didDetachRenderers):
868         
869             Add virtual custom callbacks.
870
871         (WebCore::Element::customStyleForRenderer):
872         * dom/Element.h:
873         * dom/Node.h:
874         (WebCore::Node::pseudoId):
875         (WebCore::Node::hasCustomStyleResolveCallbacks):
876         (WebCore::Node::setHasCustomStyleResolveCallbacks):
877         
878             Use the existing bit as it largely overlaps. Rename for clarity.
879
880         (WebCore::Node::customPseudoId):
881         * dom/PseudoElement.cpp:
882         (WebCore::PseudoElement::PseudoElement):
883         (WebCore::PseudoElement::didAttachRenderers):
884         * dom/PseudoElement.h:
885         * html/HTMLCanvasElement.cpp:
886         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
887         (WebCore::HTMLCanvasElement::willAttachRenderers):
888         * html/HTMLCanvasElement.h:
889         * html/HTMLFormControlElement.cpp:
890         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
891         (WebCore::HTMLFormControlElement::didAttachRenderers):
892         * html/HTMLFormControlElement.h:
893         * html/HTMLFrameElement.cpp:
894         (WebCore::HTMLFrameElement::HTMLFrameElement):
895         (WebCore::HTMLFrameElement::didAttachRenderers):
896         * html/HTMLFrameElement.h:
897         * html/HTMLFrameElementBase.cpp:
898         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
899         (WebCore::HTMLFrameElementBase::didAttachRenderers):
900         * html/HTMLFrameElementBase.h:
901         * html/HTMLFrameSetElement.cpp:
902         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
903         (WebCore::HTMLFrameSetElement::willAttachRenderers):
904         * html/HTMLFrameSetElement.h:
905         * html/HTMLIFrameElement.cpp:
906         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
907         * html/HTMLImageElement.cpp:
908         (WebCore::HTMLImageElement::HTMLImageElement):
909         (WebCore::HTMLImageElement::didAttachRenderers):
910         * html/HTMLImageElement.h:
911         * html/HTMLInputElement.cpp:
912         (WebCore::HTMLInputElement::HTMLInputElement):
913         (WebCore::HTMLInputElement::willAttachRenderers):
914         (WebCore::HTMLInputElement::didAttachRenderers):
915         (WebCore::HTMLInputElement::didDetachRenderers):
916         * html/HTMLInputElement.h:
917         * html/HTMLLIElement.cpp:
918         (WebCore::HTMLLIElement::HTMLLIElement):
919         (WebCore::HTMLLIElement::didAttachRenderers):
920         * html/HTMLLIElement.h:
921         * html/HTMLMediaElement.cpp:
922         (WebCore::HTMLMediaElement::HTMLMediaElement):
923         (WebCore::HTMLMediaElement::willAttachRenderers):
924         (WebCore::HTMLMediaElement::didAttachRenderers):
925         * html/HTMLMediaElement.h:
926         * html/HTMLOptGroupElement.cpp:
927         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
928         (WebCore::HTMLOptGroupElement::didAttachRenderers):
929         (WebCore::HTMLOptGroupElement::willDetachRenderers):
930         * html/HTMLOptGroupElement.h:
931         * html/HTMLOptionElement.cpp:
932         (WebCore::HTMLOptionElement::HTMLOptionElement):
933         (WebCore::HTMLOptionElement::didAttachRenderers):
934         (WebCore::HTMLOptionElement::willDetachRenderers):
935         * html/HTMLOptionElement.h:
936         * html/HTMLPlugInElement.cpp:
937         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
938         (WebCore::HTMLPlugInElement::willDetachRenderers):
939         * html/HTMLPlugInElement.h:
940         * html/HTMLPlugInImageElement.cpp:
941         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
942         (WebCore::HTMLPlugInImageElement::didAttachRenderers):
943         (WebCore::HTMLPlugInImageElement::willDetachRenderers):
944         * html/HTMLPlugInImageElement.h:
945         * html/HTMLProgressElement.cpp:
946         (WebCore::HTMLProgressElement::HTMLProgressElement):
947         (WebCore::HTMLProgressElement::didAttachRenderers):
948         * html/HTMLProgressElement.h:
949         * html/HTMLTextAreaElement.cpp:
950         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
951         (WebCore::HTMLTextAreaElement::didAttachRenderers):
952         * html/HTMLTextAreaElement.h:
953         * html/HTMLVideoElement.cpp:
954         (WebCore::HTMLVideoElement::HTMLVideoElement):
955         (WebCore::HTMLVideoElement::didAttachRenderers):
956         * html/HTMLVideoElement.h:
957         * html/shadow/InsertionPoint.cpp:
958         (WebCore::InsertionPoint::InsertionPoint):
959         (WebCore::InsertionPoint::willAttachRenderers):
960         (WebCore::InsertionPoint::willDetachRenderers):
961         * html/shadow/InsertionPoint.h:
962         * html/shadow/SliderThumbElement.cpp:
963         (WebCore::SliderThumbElement::SliderThumbElement):
964         (WebCore::SliderThumbElement::willDetachRenderers):
965         * html/shadow/SliderThumbElement.h:
966         * html/shadow/SpinButtonElement.cpp:
967         (WebCore::SpinButtonElement::SpinButtonElement):
968         (WebCore::SpinButtonElement::willDetachRenderers):
969         * html/shadow/SpinButtonElement.h:
970         * html/shadow/TextControlInnerElements.cpp:
971         (WebCore::TextControlInnerElement::TextControlInnerElement):
972         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
973         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
974         (WebCore::SearchFieldCancelButtonElement::willDetachRenderers):
975         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
976         (WebCore::InputFieldSpeechButtonElement::willAttachRenderers):
977         (WebCore::InputFieldSpeechButtonElement::willDetachRenderers):
978         * html/shadow/TextControlInnerElements.h:
979         * style/StyleResolveTree.cpp:
980         (WebCore::Style::resolveTree):
981         * svg/SVGElement.cpp:
982         (WebCore::SVGElement::SVGElement):
983         * svg/SVGImageElement.cpp:
984         (WebCore::SVGImageElement::SVGImageElement):
985         (WebCore::SVGImageElement::didAttachRenderers):
986         * svg/SVGImageElement.h:
987         * svg/SVGUseElement.cpp:
988         (WebCore::SVGUseElement::SVGUseElement):
989
990 2013-08-18  Gavin Barraclough  <barraclough@apple.com>
991
992         https://bugs.webkit.org/show_bug.cgi?id=119972
993         Add attributes field to PropertySlot
994
995         Reviewed by Geoff Garen.
996
997         For all JSC types, this makes getOwnPropertyDescriptor redundant.
998         There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour.
999         (Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally).
1000
1001         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1002         (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
1003         * bindings/js/JSDOMWindowCustom.cpp:
1004         (WebCore::JSDOMWindow::getOwnPropertySlot):
1005         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
1006         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1007         * bindings/js/JSHistoryCustom.cpp:
1008         (WebCore::JSHistory::getOwnPropertySlotDelegate):
1009         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
1010         * bindings/js/JSLocationCustom.cpp:
1011         (WebCore::JSLocation::getOwnPropertySlotDelegate):
1012         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
1013         * bindings/js/JSPluginElementFunctions.cpp:
1014         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
1015         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
1016         * bindings/scripts/CodeGeneratorJS.pm:
1017         (GenerateGetOwnPropertySlotBody):
1018         (GenerateGetOwnPropertyDescriptorBody):
1019         (GenerateImplementation):
1020         * bridge/runtime_array.cpp:
1021         (JSC::RuntimeArray::getOwnPropertySlot):
1022         (JSC::RuntimeArray::getOwnPropertyDescriptor):
1023         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
1024         * bridge/runtime_method.cpp:
1025         (JSC::RuntimeMethod::getOwnPropertySlot):
1026         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
1027         * bridge/runtime_object.cpp:
1028         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
1029         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
1030             - Pass attributes to PropertySlot::set* methods.
1031
1032 2013-08-18  Ryosuke Niwa  <rniwa@webkit.org>
1033
1034         <https://webkit.org/b/119917> Pasting multiple lines into a textarea can introduce extra new lines
1035
1036         Reviewed by Darin Adler.
1037
1038         Inspired by https://chromium.googlesource.com/chromium/blink/+/6152a12f7ace27beea4d284ff8416631e8aa5217.
1039
1040         The bug was caused by createFragmentFromText's falsely assuming that the newline were not preserved
1041         if the first node's renderer didn't exist.
1042
1043         Fixed the bug by obtaining the renderer of the container of the first visible position in the context.
1044
1045         Test: editing/pasteboard/paste-into-textarea-with-new-line.html
1046
1047         * editing/markup.cpp:
1048         (WebCore::contextPreservesNewline):
1049         (WebCore::createFragmentFromText):
1050
1051 2013-08-18  Andreas Kling  <akling@apple.com>
1052
1053         <https://webkit.org/b/119983> Add two missing RefPtr::release() in HTMLLinkElement.
1054
1055         Reviewed by Antti Koivisto.
1056
1057         * html/HTMLLinkElement.cpp:
1058         (WebCore::HTMLLinkElement::setCSSStyleSheet):
1059
1060 2013-08-18  Andreas Kling  <akling@apple.com>
1061
1062         <https://webkit.org/b/119981> Move ElementData & co to their own files.
1063
1064         Reviewed by Antti Koivisto.
1065
1066         I like to move it move it.
1067
1068 2013-08-18  David Kilzer  <ddkilzer@apple.com>
1069
1070         BUILD FIX (r153990): Add UNUSED_PARAM for heightChanged when CSS_SHAPES is disabled
1071
1072         Fixes the following build failure:
1073
1074             WebCore/rendering/RenderBlock.cpp:1529:53: error: unused parameter 'heightChanged' [-Werror,-Wunused-parameter]
1075             void RenderBlock::updateShapesAfterBlockLayout(bool heightChanged)
1076                                                                 ^
1077             1 error generated.
1078
1079         * rendering/RenderBlock.cpp:
1080         (WebCore::RenderBlock::updateShapesAfterBlockLayout): Add
1081         UNUSED_PARAM(heightChanged) when CSS_SHAPES is disabled.
1082
1083 2013-08-18  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
1084
1085         [EFL] minor method name fix for the textTrackOffMenuItemText method
1086         https://bugs.webkit.org/show_bug.cgi?id=119978
1087
1088         the method textTrackOffMenuItemText was renamed in
1089         https://bugs.webkit.org/show_bug.cgi?id=113822
1090
1091         Reviewed by Christophe Dumez.
1092
1093         * platform/efl/LocalizedStringsEfl.cpp:
1094         (WebCore::textTrackOffMenuItemText):
1095
1096 2013-08-17  Antti Koivisto  <antti@apple.com>
1097
1098         <https://webkit.org/b/119963> Use TextNodeTraversal for getting sheet text in StyleElement
1099
1100         Reviewed by Andreas Kling.
1101
1102         * dom/StyleElement.cpp:
1103         (WebCore::StyleElement::process):
1104         
1105             Use TextNodeTraversal::contentsAsString for the sheet text. The overflow check is removed as StringBuilder 
1106             (which is used by contentsAsString) does that itself. The behavior in case of overflow changes from empty
1107             sheet to CRASH(). Thats what we do elsewhere in similar situations too (scripts for example). Continuing
1108             with > 4GB of style sheet text nodes is probably not going to go well anyway.
1109
1110 2013-08-17  Antti Koivisto  <antti@apple.com>
1111
1112         <https://webkit.org/b/119960> Remove some optimizations made obsolete by use of StringBuilder
1113
1114         Reviewed by Andreas Kling.
1115
1116         * dom/ScriptElement.cpp:
1117         (WebCore::ScriptElement::scriptContent):
1118         
1119             StringBuilder already optimizes for the single string case. If there is only one the original string is returned.
1120
1121         * dom/Text.cpp:
1122         (WebCore::Text::wholeText):
1123         
1124             No need to traverse twice to compute the capacity. StringBuilder handles this efficiently. 
1125             Also in the common case there is only one string and the optimization here is actually hurting by disabling the StringBuilder one.
1126
1127 2013-08-17  Antti Koivisto  <antti@apple.com>
1128
1129         <https://webkit.org/b/119959> Add TextNodeTraversal
1130
1131         Reviewed by Andreas Kling.
1132
1133         Add TextNodeTraversal for cleaner and more compact traversal of Text nodes.
1134         
1135         Use it where appropriate.
1136
1137         * WebCore.xcodeproj/project.pbxproj:
1138         * dom/Attr.cpp:
1139         (WebCore::Attr::childrenChanged):
1140         * dom/NodeTraversal.h:
1141         (WebCore::NodeTraversal::next):
1142         * dom/ScriptElement.cpp:
1143         (WebCore::ScriptElement::scriptContent):
1144         * dom/Text.cpp:
1145         (WebCore::Text::wholeText):
1146         * dom/Text.h:
1147         (WebCore::toText):
1148         * dom/TextNodeTraversal.cpp: Added.
1149         (WebCore::TextNodeTraversal::appendContents):
1150         (WebCore::TextNodeTraversal::contentsAsString):
1151         
1152             Helpers for getting text content of a subtree.
1153
1154         * dom/TextNodeTraversal.h: Added.
1155         (WebCore::TextNodeTraversal::firstTextChildTemplate):
1156         (WebCore::TextNodeTraversal::firstChild):
1157         (WebCore::TextNodeTraversal::firstTextWithinTemplate):
1158         (WebCore::TextNodeTraversal::firstWithin):
1159         (WebCore::TextNodeTraversal::traverseNextTextTemplate):
1160         (WebCore::TextNodeTraversal::next):
1161         (WebCore::TextNodeTraversal::nextSibling):
1162         * editing/ApplyStyleCommand.cpp:
1163         (WebCore::ApplyStyleCommand::joinChildTextNodes):
1164         * html/HTMLTextAreaElement.cpp:
1165         (WebCore::HTMLTextAreaElement::defaultValue):
1166         (WebCore::HTMLTextAreaElement::setDefaultValue):
1167         * html/HTMLTitleElement.cpp:
1168         (WebCore::HTMLTitleElement::text):
1169         * html/track/TextTrackCue.cpp:
1170         (WebCore::TextTrackCue::determineTextDirection):
1171         * page/Frame.cpp:
1172         (WebCore::Frame::searchForLabelsAboveCell):
1173         * xml/XPathUtil.cpp:
1174         (WebCore::XPath::stringValue):
1175
1176 2013-08-17  Andreas Kling  <akling@apple.com>
1177
1178         <https://webkit.org/b/119957> Page::contextMenuController() should return a reference.
1179
1180         Reviewed by Antti Koivisto.
1181
1182         Page::m_contextMenuController is never null.
1183
1184         * page/Page.h:
1185         (WebCore::Page::contextMenuController):
1186
1187 2013-08-17  Andreas Kling  <akling@apple.com>
1188
1189         <https://webkit.org/b/119954> Page::dragCaretController() should return a reference.
1190
1191         Reviewed by Antti Koivisto.
1192
1193         Page::m_dragCaretController is never null.
1194
1195         * dom/Document.cpp:
1196         (WebCore::Document::nodeChildrenWillBeRemoved):
1197         (WebCore::Document::nodeWillBeRemoved):
1198         * page/DragController.cpp:
1199         (WebCore::DragController::cancelDrag):
1200         (WebCore::DragController::dragEnded):
1201         (WebCore::DragController::tryDocumentDrag):
1202         (WebCore::DragController::dispatchTextInputEventFor):
1203         (WebCore::DragController::concludeEditDrag):
1204         (WebCore::DragController::placeDragCaret):
1205         * page/Page.h:
1206         (WebCore::Page::dragCaretController):
1207         * rendering/RenderBlock.cpp:
1208         (WebCore::RenderBlock::paintCaret):
1209
1210 2013-08-17  Andreas Kling  <akling@apple.com>
1211
1212         <https://webkit.org/b/119952> Simplify Editor's back-pointer to the Frame.
1213
1214         Reviewed by Antti Koivisto.
1215
1216         Remove Editor's inheritance from FrameDestructionObserver. Editor is owned by Frame and
1217         has no interest in observing frame destruction since its own destruction will soon follow.
1218
1219         Editor::m_frame is now a reference instead of a pointer. Removed some null checking.
1220
1221 2013-08-17  Andreas Kling  <akling@apple.com>
1222
1223         <https://webkit.org/b/119950> Remove unused EditorClient::frameWillDetachPage() callback.
1224
1225         Reviewed by Antti Koivisto.
1226
1227         This callback was only used by the Chromium port.
1228
1229         * editing/Editor.h:
1230         * editing/Editor.cpp:
1231
1232             Remove override of FrameDestructionObserver::willDetachPage().
1233
1234         * page/EditorClient.h:
1235
1236             Remove frameWillDetachPage(). This is repeated in every EditorClient subclass.
1237
1238 2013-08-16  Antti Koivisto  <antti@apple.com>
1239
1240         <https://webkit.org/b/119886> PseudoElement is abusing parent node pointer
1241
1242         Reviewed by Darin Adler.
1243
1244         PseudoElement sets its host node as its parent. This is confusing and wrong as it breaks
1245         the basic tree consistency (a node is a child node of its parent node).
1246         
1247         This patch adds an explicit host pointer PseudoElement and switches the call sites over. Memory
1248         impact is negligible as there are not that many ::befores and ::afters.
1249
1250         * dom/ComposedShadowTreeWalker.cpp:
1251         (WebCore::ComposedShadowTreeWalker::traverseParent):
1252         * dom/EventPathWalker.cpp:
1253         (WebCore::EventPathWalker::moveToParent):
1254         * dom/EventRetargeter.h:
1255         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
1256         * dom/Node.cpp:
1257         (WebCore::Node::~Node):
1258         
1259             Add consistency assertions. Remove unnecessary clearing of sibling pointers. They should be cleared already.
1260
1261         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
1262         * dom/PseudoElement.cpp:
1263         (WebCore::PseudoElement::PseudoElement):
1264         (WebCore::PseudoElement::customStyleForRenderer):
1265         * dom/PseudoElement.h:
1266         (WebCore::toPseudoElement):
1267         
1268             Add casting functions.
1269
1270         * inspector/InspectorLayerTreeAgent.cpp:
1271         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1272         * rendering/HitTestResult.cpp:
1273         (WebCore::HitTestResult::setInnerNode):
1274         (WebCore::HitTestResult::setInnerNonSharedNode):
1275
1276 2013-08-17  Darin Adler  <darin@apple.com>
1277
1278         <https://webkit.org/b/119948> Change drag-specific clipboard writing in DragController to go straight to Pasteboard, not forward through Clipboard
1279
1280         Reviewed by Andreas Kling.
1281
1282         * dom/Clipboard.cpp: Removed writeRange, writePlainText, and writeURL functions.
1283         All three are just unneeded forwarding to pasteboard.
1284         * dom/Clipboard.h: Ditto.
1285
1286         * page/DragController.cpp:
1287         (WebCore::DragController::startDrag): Move the logic in here. Later we might
1288         want to straighten this out a bit, perhaps using functions in Editor, but it's
1289         not much code so fine to just have it here for now.
1290
1291 2013-08-17  Darin Adler  <darin@apple.com>
1292
1293         <https://webkit.org/b/119947> Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS
1294
1295         Reviewed by Andreas Kling.
1296
1297         * dom/Clipboard.cpp:
1298         (WebCore::Clipboard::Clipboard):
1299         (WebCore::Clipboard::~Clipboard):
1300         * dom/Clipboard.h:
1301         Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS, LEGACY_VIRTUAL, and LEGACY_PURE.
1302         Keep only the !USE(LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS) side of all conditionals.
1303
1304 2013-08-17  Darin Adler  <darin@apple.com>
1305
1306         <https://webkit.org/b/119946> Move some code used only by EventHandler from Clipboard to EventHandler
1307
1308         Reviewed by Andreas Kling.
1309
1310         Later it would be good to move this all to DragController, but there is no reason to have
1311         these functions as member functions of the DOM-exposed Clipboard class.
1312
1313         * dom/Clipboard.cpp: Deleted hasFileOfType, hasStringOfType, convertDropZoneOperationToDragOperation,
1314         convertDragOperationToDropZoneOperation.
1315         * dom/Clipboard.h: Ditto.
1316
1317         * page/EventHandler.cpp:
1318         (WebCore::convertDropZoneOperationToDragOperation): Moved here.
1319         (WebCore::convertDragOperationToDropZoneOperation): Moved here. Also changed to use ASCIILiteral.
1320         (WebCore::hasFileOfType): Moved here and made a free function instead of a member function. Removed
1321         canReadTypes check because Clipboard::files already takes care of that.
1322         (WebCore::hasStringOfType): Moved here and made a free function instead of a member function.
1323         Added a check for the null string because HashSet::contains will not work on a null string.
1324         (WebCore::hasDropZoneType): Moved here and made a free function instead of a member function.
1325         (WebCore::findDropZone): Call the hasDropZoneType function instead of Clipboard::hasDropZoneType.
1326
1327 2013-08-17  Darin Adler  <darin@apple.com>
1328
1329         <https://webkit.org/b/119943> Clean up the Document class a bit
1330
1331         Reviewed by Antti Koivisto.
1332
1333         * dom/Document.cpp:
1334         (WebCore::Document::~Document): Fixed typo in comment.
1335         (WebCore::Document::suggestedMIMEType): Use ASCIILiteral for literals.
1336         Also name local variable just loader rather than documentLoader.
1337         (WebCore::Document::updateTitle): Call loader rather than going indirectly
1338         through frame to get to the loader.
1339         (WebCore::Document::setTitleElement): Fixed formatting (add braces).
1340         (WebCore::Document::removeTitle): Iterate elements instead of nodes.
1341         (WebCore::Document::isPageBoxVisible): Use ensureStyleResolver to call
1342         styleForPage to avoid the need for a simple forwarding function. Also
1343         eliminated local variable to increase clarity.
1344         (WebCore::Document::pageSizeAndMarginsInPixels): Use ensureStyleResolver
1345         to call styleForPage to avoid the need for a simple forwarding function.
1346         (WebCore::Document::setIsViewSource): Renamed a local variable.
1347
1348         * dom/Document.h: Removed unneeded childNeedsAndNotInStyleRecalc and
1349         styleForPage functions.
1350
1351         * loader/FrameLoader.cpp: Removed unnneeded setTitle function.
1352         * loader/FrameLoader.h: Ditto.
1353
1354         * page/PrintContext.cpp:
1355         (WebCore::PrintContext::pageProperty): Use ensureStyleResolver to call
1356         styleForPage to avoid the need for a simple forwarding function.
1357
1358 2013-08-17  Darin Adler  <darin@apple.com>
1359
1360         <https://webkit.org/b/119939> Remove some unused clipboard and pasteboard code
1361
1362         Reviewed by Andreas Kling.
1363
1364         * PlatformWinCE.cmake: Removed EditorWin.cpp.
1365         * WebCore.vcxproj/WebCore.vcxproj: Removed EditorWin.cpp.
1366         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed EditorWin.cpp.
1367         * WebCore.xcodeproj/project.pbxproj: Removed ClipboardIOS.h and
1368         ClipboardIOS.mm, and also let Xcode edit/reorder this file.
1369
1370         * editing/Editor.cpp:
1371         (WebCore::Editor::dispatchCPPEvent): Removed some LEGACY_STYLE_ABSTRACT_CLIPBOARD
1372         class code. Will remove the rest later.
1373
1374         * editing/Editor.h: Removed declaration of newGeneralClipboard.
1375
1376         * platform/Pasteboard.h: Removed declaration of writeClipboard. Also updated a
1377         comment to make it clearer.
1378
1379         * platform/blackberry/PasteboardBlackBerry.cpp: Removed Pasteboard::writeClipboard.
1380         * platform/efl/PasteboardEfl.cpp: Ditto.
1381         * platform/ios/PasteboardIOS.mm: Ditto.
1382         * platform/win/PasteboardWin.cpp: Ditto.
1383
1384         * platform/ios/ClipboardIOS.h: Removed. Was an empty file.
1385         * platform/ios/ClipboardIOS.mm: Removed. Was an empty file.
1386         * platform/win/EditorWin.cpp: Removed. Had only newGeneralClipboard in the file,
1387         a function that is never called.
1388
1389 2013-08-17  Darin Adler  <darin@apple.com>
1390
1391         <https://webkit.org/b/119940> Rename Clipboard::m_dragLoc to m_dragLocation
1392
1393         Reviewed by Andreas Kling.
1394
1395         * dom/Clipboard.h: Removed unused dragLocation member function.
1396         Renamed m_dragLoc to m_dragLocation.
1397
1398         * dom/Clipboard.cpp:
1399         (WebCore::Clipboard::setDragImage):
1400         * platform/gtk/ClipboardGtk.cpp:
1401         (WebCore::Clipboard::createDragImage):
1402         * platform/mac/ClipboardMac.mm:
1403         (WebCore::Clipboard::createDragImage):
1404         * platform/qt/ClipboardQt.cpp:
1405         (WebCore::Clipboard::createDragImage):
1406         * platform/win/ClipboardWin.cpp:
1407         (WebCore::Clipboard::createDragImage):
1408         Updated for new name.
1409
1410 2013-08-17  Darin Adler  <darin@apple.com>
1411
1412         <https://webkit.org/b/119942> Remove unnecessary uses of Element::ownerDocument
1413
1414         Reviewed by Andreas Kling.
1415
1416         The Element::document is a simpler faster alternative to Element::ownerDocument.
1417         The only behavior difference between the two is that ownerDocument returns 0 when
1418         called on a Document.
1419
1420         * html/HTMLMediaElement.cpp:
1421         (WebCore::HTMLMediaElement::supportsFocus): Call document instead of ownerDocument.
1422         (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Removed null checking of
1423         document and call to ownerDocument, since ownerDocument will never return non-null
1424         if document returns null.
1425         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): Call document instead
1426         of ownerDocument.
1427
1428         * inspector/DOMEditor.cpp:
1429         (WebCore::DOMEditor::SetOuterHTMLAction::perform): Call document instead of ownerDocument.
1430
1431         * inspector/InspectorCSSAgent.cpp:
1432         (WebCore::InspectorCSSAgent::getMatchedStylesForNode): Call document instead of ownerDocument.
1433         (WebCore::InspectorCSSAgent::forcePseudoState): Call document instead of ownerDocument.
1434         (WebCore::InspectorCSSAgent::resetPseudoStates): Call document instead of ownerDocument.
1435
1436         * inspector/InspectorDOMAgent.cpp:
1437         (WebCore::InspectorDOMAgent::setOuterHTML): Call document instead of expression that
1438         does the same thing in a roundabout way.
1439         (WebCore::InspectorDOMAgent::focusNode): Call document instead of ownerDocument.
1440         (WebCore::InspectorDOMAgent::resolveNode): Call document instead of expression that
1441         does the same thing in a roundabout way.
1442
1443         * page/DragController.cpp:
1444         (WebCore::DragController::concludeEditDrag): Call document instead of ownerDocument.
1445
1446         * svg/SVGElementInstance.cpp:
1447         (WebCore::SVGElementInstance::ownerDocument): Call document instead of ownerDocument.
1448
1449 2013-08-17  Darin Adler  <darin@apple.com>
1450
1451         <https://webkit.org/b/119941> Make Page::dragController return a reference
1452
1453         Reviewed by Andreas Kling.
1454
1455         * page/Page.h:
1456         (WebCore::Page::dragController): Return a reference instead of a pointer.
1457
1458         * page/DragController.cpp:
1459         (WebCore::DragController::concludeEditDrag):
1460         * page/EventHandler.cpp:
1461         (WebCore::EventHandler::eventMayStartDrag):
1462         (WebCore::EventHandler::updateDragSourceActionsAllowed):
1463         (WebCore::EventHandler::handleDrag):
1464         * page/mac/EventHandlerMac.mm:
1465         (WebCore::EventHandler::passSubframeEventToSubframe):
1466         Updated call sites.
1467
1468 2013-08-17  Morten Stenshorne  <mstensho@opera.com>
1469
1470         <https://webkit.org/b/119795> Propagate writing-mode from the first region to the flow thread
1471
1472         Reviewed by Darin Adler.
1473
1474         Since the flow thread is a direct child of RenderView, it doesn't inherit
1475         proper writing-mode automatically. It should be mentioned that if the thread's
1476         contents' writing-mode differs from that of the first region, things are
1477         typically going to look useless (although perhaps that's how it should be),
1478         but as long as writing-mode is only specified on a common parent of the
1479         thread's contents and the regions, things look fine, and also, we're now
1480         following what the spec has to say on the matter:
1481
1482         http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-flow-into-property
1483
1484             "The first region defines the principal writing mode for the entire flow.
1485              The writing mode on subsequent regions is ignored."
1486
1487         This is a back-port of the fix for Blink bug 257965.
1488         Reviewed by esprehn and mihnea there.
1489         Blink review URL: https://chromiumcodereview.appspot.com/18374008
1490
1491         Tests: fast/regions/changing-writing-mode-2.html
1492                fast/regions/changing-writing-mode-3.html
1493                fast/regions/changing-writing-mode-4.html
1494                fast/regions/changing-writing-mode-5.html
1495                fast/regions/changing-writing-mode.html
1496                fast/regions/invalid-first-region-with-writing-mode-2.html
1497                fast/regions/invalid-first-region-with-writing-mode.html
1498                fast/regions/subtree-with-horiz-bt.html
1499                fast/regions/subtree-with-horiz-tb.html
1500                fast/regions/subtree-with-vert-lr.html
1501                fast/regions/subtree-with-vert-rl.html
1502
1503         * rendering/RenderFlowThread.cpp:
1504         (WebCore::RenderFlowThread::styleDidChange):
1505         * rendering/RenderFlowThread.h:
1506         * rendering/RenderNamedFlowThread.cpp:
1507         (WebCore::RenderNamedFlowThread::updateWritingMode):
1508         (WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread):
1509         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
1510         (WebCore::RenderNamedFlowThread::regionChangedWritingMode):
1511         * rendering/RenderNamedFlowThread.h:
1512         * rendering/RenderRegion.cpp:
1513         (WebCore::RenderRegion::styleDidChange):
1514
1515 2013-08-16  Andreas Kling  <akling@apple.com>
1516
1517         <https://webkit.org/b/119903> Make Settings ref-counted (and let Frame keep a ref!)
1518
1519         Reviewed by Geoff Garen.
1520
1521         Let Frame hold a RefPtr<Settings> so Frame::settings() isn't forced to go through Page.
1522         It now also returns a reference, as it can never be null.
1523
1524         Removed 8.8 million lines of null-checking as a result.
1525
1526 2013-08-16  Ryosuke Niwa  <rniwa@webkit.org>
1527
1528         <https://webkit.org/b/119536> Refactor highestEditableRoot to avoid a redundant call to rendererIsEditable
1529
1530         Reviewed by Benjamin Poulain.
1531
1532         Refactor highestEditableRoot to avoid an extra tree walk. We now walk up the ancestor chain up to
1533         the first root editable element exactly once.
1534
1535         * dom/Node.cpp:
1536         (WebCore::Node::rendererIsEditable): Change the order of conditions to make the evaluation faster
1537         when we don't have to check RenderStyle's value.
1538         * editing/htmlediting.cpp:
1539         (WebCore::highestEditableRoot):
1540
1541 2013-08-16  Benjamin Poulain  <benjamin@webkit.org>
1542
1543         Remove a useless #include of SelectorChecker.h
1544
1545         Rubber-stamped by Ryosuke Niwa.
1546
1547         * dom/DocumentStyleSheetCollection.cpp:
1548
1549 2013-08-16  Brent Fulgham  <bfulgham@apple.com>
1550
1551         [Windows] Update RenderMediaControls for new API
1552         https://bugs.webkit.org/show_bug.cgi?id=119910
1553
1554         Reviewed by Eric Carlson.
1555
1556         * rendering/RenderMediaControls.cpp: Update calls to WebKitSystemInterface for
1557         the changed API.
1558
1559 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
1560
1561         <https://webkit.org/b/119912> Fix WebKit build error when SVG is disabled(broken since r154174)
1562
1563         Reviewed by Simon Fraser.
1564
1565         No new tests required, just a build fix.
1566
1567         Since r154174 CSS keywords alpha and luminance used by -webkit-mask-source-type. Move those
1568         keywords from SVGCSSValueKeywords.in to CSSValueKeywords.in.
1569
1570         * css/CSSValueKeywords.in:
1571         * css/SVGCSSValueKeywords.in:
1572
1573 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
1574
1575         <https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore
1576
1577         Reviewed by Alexey Proskuryakov.
1578
1579         WTF::currentTime() is prone to DST changes and NTP adjustments, so use
1580         WTF::monotonicallyIncreasingTime() to measure elapsed time.
1581         
1582         * Modules/filesystem/FileWriter.cpp:
1583         (WebCore::FileWriter::didWrite):
1584         * dom/Document.cpp:
1585         (WebCore::Document::Document):
1586         (WebCore::Document::elapsedTime):
1587         (WebCore::Document::resetLastHandledUserGestureTimestamp):
1588         * dom/Element.cpp:
1589         (WebCore::Element::setActive):
1590         * fileapi/FileReader.cpp:
1591         (WebCore::FileReader::didReceiveData):
1592         * html/HTMLMediaElement.cpp:
1593         (WebCore::HTMLMediaElement::HTMLMediaElement):
1594         (WebCore::HTMLMediaElement::startProgressEventTimer):
1595         (WebCore::HTMLMediaElement::progressEventTimerFired):
1596         (WebCore::HTMLMediaElement::refreshCachedTime):
1597         (WebCore::HTMLMediaElement::invalidateCachedTime):
1598         (WebCore::HTMLMediaElement::currentTime):
1599         (WebCore::HTMLMediaElement::startPlaybackProgressTimer):
1600         (WebCore::HTMLMediaElement::scheduleTimeupdateEvent):
1601         * html/HTMLMediaElement.h:
1602         * html/HTMLPlugInImageElement.cpp:
1603         (WebCore::documentHadRecentUserGesture):
1604         * html/MediaController.cpp:
1605         (MediaController::scheduleTimeupdateEvent):
1606         * html/parser/HTMLDocumentParser.cpp:
1607         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
1608         * html/parser/HTMLParserScheduler.h:
1609         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
1610         * inspector/InspectorCSSAgent.cpp:
1611         (WebCore::SelectorProfile::SelectorProfile):
1612         (WebCore::SelectorProfile::totalMatchingTimeMs):
1613         (WebCore::SelectorProfile::startSelector):
1614         (WebCore::SelectorProfile::commitSelector):
1615         (WebCore::SelectorProfile::commitSelectorTime):
1616         * inspector/InspectorProfilerAgent.cpp:
1617         (WebCore::InspectorProfilerAgent::willProcessTask):
1618         (WebCore::InspectorProfilerAgent::didProcessTask):
1619         * inspector/InspectorTimelineAgent.cpp:
1620         (WebCore::InspectorTimelineAgent::timestamp):
1621         * inspector/TimelineTraceEventProcessor.cpp:
1622         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
1623         * page/FrameView.cpp:
1624         (WebCore::FrameView::adjustedDeferredRepaintDelay):
1625         (WebCore::FrameView::paintContents):
1626         * platform/ClockGeneric.cpp:
1627         (ClockGeneric::now):
1628         * platform/ScrollAnimatorNone.cpp:
1629         (WebCore::ScrollAnimatorNone::scroll):
1630         (WebCore::ScrollAnimatorNone::animationTimerFired):
1631         * platform/graphics/cg/ImageBufferCG.cpp:
1632         (WebCore::ImageBuffer::ImageBuffer):
1633         (WebCore::ImageBuffer::flushContextIfNecessary):
1634         (WebCore::ImageBuffer::flushContext):
1635         (WebCore::ImageBuffer::copyNativeImage):
1636
1637 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
1638
1639         <https://webkit.org/b/119891> [WinCairo] Compile error.
1640
1641         Reviewed by Brent Fulgham.
1642
1643         * rendering/FlowThreadController.cpp: Need USE(ACCELERATED_COMPOSITING) guard.
1644         * rendering/FlowThreadController.h: Need USE(ACCELERATED_COMPOSITING) guard.
1645
1646 2013-08-16  Zan Dobersek  <zdobersek@igalia.com>
1647
1648         <https://webkit.org/b/119887> [Soup] The testing NetworkStorageSession should have a proper SoupSession
1649
1650         Reviewed by Martin Robinson.
1651
1652         After r154144, a testing NetworkStorageSession is enforced when running the layout tests
1653         through WebKitTestRunner. Ports using the Soup networking backend don't assign any SoupSession
1654         objects to such NetworkStorageSession objects as it's usually the case. This is causing problems
1655         as the ResourceHandleInternal uses the SoupSession that's provided by the NetworkingContext's
1656         NetworkStorageSession, which ends up being null if the testing-specific NetworkStorageSession is used.
1657         As a result, all the layout tests are crashing under WKTR.
1658
1659         * platform/network/NetworkStorageSession.h: Make the SoupSession member a GRefPtr.
1660         (WebCore::NetworkStorageSession::soupSession): Return the GRefPtr's pointer.
1661         * platform/network/ResourceHandle.h: Declare the new createTestingSession method.
1662         * platform/network/soup/CookieJarSoup.cpp: 
1663         (WebCore::cookieJarForSession): Instead of returning the default SoupCookieJar when there's no SoupSession
1664         provided by the NetworkStorageSession, assert that there now always is one, and return the session's cookie
1665         jar. For testing NetworkStorageSession objects, their SoupSession objects will always use the default cookie jar.
1666         * platform/network/soup/NetworkStorageSessionSoup.cpp:
1667         (WebCore::NetworkStorageSession::NetworkStorageSession): Adopt the given SoupSession reference pointer.
1668         (WebCore::NetworkStorageSession::switchToNewTestingSession): Use a newly-created, testing-specific SoupSession.
1669         * platform/network/soup/ResourceHandleSoup.cpp:
1670         (WebCore::ResourceHandle::createTestingSession): Define the new createTestingSession method. It creates a new
1671         SoupSession through createSoupSession, but uses the default SoupCookieJar, as provided by WebCore::soupCookieJar.
1672
1673 2013-08-16  Pratik Solanki  <psolanki@apple.com>
1674
1675         <https://webkit.org/b/119852> Frame::scriptController() should return a reference
1676
1677         Reviewed by Andreas Kling.
1678
1679         m_script is never NULL so we can just return a reference. Also remove some pointless null
1680         checks as a result of doing this.
1681
1682         * Modules/websockets/WebSocket.cpp:
1683         (WebCore::WebSocket::connect):
1684         * bindings/js/JSDOMWindowBase.cpp:
1685         (WebCore::toJS):
1686         (WebCore::toJSDOMWindow):
1687         * bindings/js/JSDOMWindowShell.cpp:
1688         (WebCore::toJS):
1689         (WebCore::toJSDOMWindowShell):
1690         * bindings/js/JSEventListener.cpp:
1691         (WebCore::JSEventListener::handleEvent):
1692         * bindings/js/JSLazyEventListener.cpp:
1693         (WebCore::JSLazyEventListener::initializeJSFunction):
1694         * bindings/js/PageScriptDebugServer.cpp:
1695         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
1696         * bindings/js/ScheduledAction.cpp:
1697         (WebCore::ScheduledAction::execute):
1698         * bindings/js/ScriptCachedFrameData.cpp:
1699         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1700         (WebCore::ScriptCachedFrameData::restore):
1701         * bindings/js/ScriptEventListener.cpp:
1702         (WebCore::createAttributeEventListener):
1703         (WebCore::eventListenerHandlerScriptState):
1704         * bindings/js/ScriptState.cpp:
1705         (WebCore::mainWorldScriptState):
1706         (WebCore::scriptStateFromNode):
1707         (WebCore::scriptStateFromPage):
1708         * bindings/objc/DOM.mm:
1709         (-[DOMNode JSC::Bindings::]):
1710         * bindings/objc/DOMInternal.mm:
1711         (-[WebScriptObject _initializeScriptDOMNodeImp]):
1712         * dom/Document.cpp:
1713         (WebCore::Document::disableEval):
1714         (WebCore::Document::ensurePlugInsInjectedScript):
1715         * dom/ScriptElement.cpp:
1716         (WebCore::ScriptElement::prepareScript):
1717         (WebCore::ScriptElement::executeScript):
1718         * history/CachedFrame.cpp:
1719         (WebCore::CachedFrameBase::restore):
1720         * html/HTMLCanvasElement.cpp:
1721         (WebCore::HTMLCanvasElement::createRenderer):
1722         * html/HTMLElement.cpp:
1723         (WebCore::HTMLElement::rendererIsNeeded):
1724         * html/HTMLMediaElement.cpp:
1725         (WebCore::HTMLMediaElement::controls):
1726         * html/HTMLPlugInElement.cpp:
1727         (WebCore::HTMLPlugInElement::getInstance):
1728         (WebCore::HTMLPlugInElement::getNPObject):
1729         * html/HTMLPlugInImageElement.cpp:
1730         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
1731         * html/parser/HTMLParserOptions.cpp:
1732         (WebCore::HTMLParserOptions::HTMLParserOptions):
1733         * inspector/InspectorAgent.cpp:
1734         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1735         * inspector/InspectorClient.cpp:
1736         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
1737         * inspector/InspectorFrontendClientLocal.cpp:
1738         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
1739         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
1740         * inspector/InspectorOverlay.cpp:
1741         (WebCore::InspectorOverlay::evaluateInOverlay):
1742         * inspector/InspectorPageAgent.cpp:
1743         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
1744         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1745         * inspector/PageRuntimeAgent.cpp:
1746         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
1747         * loader/DocumentWriter.cpp:
1748         (WebCore::DocumentWriter::begin):
1749         * loader/FrameLoader.cpp:
1750         (WebCore::FrameLoader::urlSelected):
1751         (WebCore::FrameLoader::submitForm):
1752         (WebCore::FrameLoader::cancelAndClear):
1753         (WebCore::FrameLoader::clear):
1754         (WebCore::FrameLoader::prepareForCachedPageRestore):
1755         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
1756         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
1757         * loader/SubframeLoader.cpp:
1758         (WebCore::SubframeLoader::requestFrame):
1759         * loader/cache/CachedResourceLoader.cpp:
1760         (WebCore::CachedResourceLoader::canRequest):
1761         * page/EventSource.cpp:
1762         (WebCore::EventSource::create):
1763         * page/Frame.cpp:
1764         (WebCore::Frame::willDetachPage):
1765         * page/Frame.h:
1766         (WebCore::Frame::script):
1767         * page/Navigator.cpp:
1768         (WebCore::shouldHideFourDot):
1769         * page/Page.cpp:
1770         (WebCore::Page::setDebugger):
1771         * platform/graphics/wince/MediaPlayerProxy.cpp:
1772         (WebCore::WebMediaPlayerProxy::pluginInstance):
1773         (WebCore::WebMediaPlayerProxy::invokeMethod):
1774         * plugins/PluginView.cpp:
1775         (WebCore::PluginView::~PluginView):
1776         (WebCore::PluginView::performRequest):
1777         (WebCore::PluginView::load):
1778         (WebCore::PluginView::bindingInstance):
1779         (WebCore::PluginView::getValue):
1780         * plugins/efl/PluginViewEfl.cpp:
1781         (WebCore::PluginView::platformGetValue):
1782         * xml/XMLHttpRequest.cpp:
1783         (WebCore::XMLHttpRequest::open):
1784         * xml/XMLTreeViewer.cpp:
1785         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
1786
1787 2013-08-16  Andreas Kling  <akling@apple.com>
1788
1789         Attempt to fix the Qt/MountainLion build after r154142.
1790
1791         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1792         (WebCore::MediaPlayerPrivateQt::commitLoad):
1793
1794 2013-08-16  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1795
1796         [Qt] Kerning in fast font path breaks letter-spacing
1797         https://bugs.webkit.org/show_bug.cgi?id=119838
1798
1799         Reviewed by Jocelyn Turcotte.
1800
1801         Mark fonts with both kerning and letter-spacing as unsupported by the simple font-path.
1802
1803         Test: fast/text/letter-spacing-kerned.html
1804
1805         * platform/graphics/WidthIterator.h:
1806         (WebCore::WidthIterator::supportsTypesettingFeatures):
1807
1808 2013-08-16  Andreas Kling  <akling@apple.com>
1809
1810         <https://webkit.org/b/119893> FrameView::frame() should return a reference.
1811
1812         Reviewed by Antti Koivisto.
1813
1814         FrameView::m_frame was only ever null for a brief moment during CachedFrame teardown.
1815         Leave it alone instead, and update the assertion that depended on this behavior.
1816         This enables us to make FrameView::frame() return a Frame&, exposing a ton of
1817         unnecessary null checks.
1818
1819         * history/CachedFrame.cpp:
1820         (WebCore::CachedFrame::destroy):
1821
1822             Remove call to FrameView::clearFrame() that was the only way to get a null
1823             FrameView::m_frame. Immediately followed by a call to CachedFrame::clear() where
1824             the FrameView would get destroyed anyway.
1825
1826         (WebCore::CachedFrame::clear):
1827
1828             Update an assertion to support the case where the Document's Frame pointer has
1829             been cleared out and CachedFrame is still clinging to the FrameView.
1830
1831         * history/CachedPage.h:
1832
1833             Made CachedPage::destroy() private as it was only called by ~CachedPage().
1834
1835         * /:
1836
1837             Frame* FrameView::frame() => Frame& FrameView::frame()
1838
1839 2013-08-16  Brady Eidson  <beidson@apple.com>
1840
1841         (NetworkProcess)  Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
1842         https://bugs.webkit.org/show_bug.cgi?id=119493
1843
1844         Reviewed by Alexey Proskuryakov.
1845
1846         No new tests (Covered by plenty of existing tests).
1847
1848         * WebCore.exp.in:
1849         * WebCore.xcodeproj/project.pbxproj:
1850
1851         * platform/network/SynchronousLoaderClient.h: Make platformBadResponseError public
1852
1853         * platform/network/mac/ResourceHandleMac.mm:
1854         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Add comments/FIXMEs spelling out how wrong this code is.
1855
1856 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
1857
1858         <https://webkit.org/b/119889> [WinCairo] Compile error.
1859
1860         Reviewed by Brent Fulgham.
1861
1862         * platform/network/curl/ResourceHandleManager.cpp:
1863         (WebCore::certificatePath): Use correct function name.
1864
1865 2013-08-16  Brent Fulgham  <bfulgham@apple.com>
1866
1867         [Windows] Unreviewed build correction after r154165.
1868
1869         * WebCore.vcxproj/copyForwardingHeaders.cmd: Copy html/shadow header files
1870         to WebKit include location.
1871
1872 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
1873
1874         [Windows] Prevent dangling CACFLayer when switching to/from Tiled backing.
1875         https://bugs.webkit.org/show_bug.cgi?id=119818
1876
1877         Reviewed by Darin Adler.
1878
1879         Covered by existing: compositing/tiling/empty-to-tiled.html
1880
1881         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1882         (PlatformCALayer::~PlatformCALayer): Remove deleted layer from its
1883         parent layer 
1884
1885 2013-08-16  Andreas Kling  <akling@apple.com>
1886
1887         <https://webkit.org/b/119866> Frame::eventHandler() should return a reference.
1888
1889         Reviewed by Anders Carlsson.
1890
1891         Frame::m_eventHandler is never null.
1892
1893 2013-08-16  Commit Queue  <commit-queue@webkit.org>
1894
1895         Unreviewed, rolling out r153749.
1896         http://trac.webkit.org/changeset/153749
1897         https://bugs.webkit.org/show_bug.cgi?id=119892
1898
1899         The bison generation of the glslang* files has now been fixed. (Requested by zdobersek on #webkit).
1900
1901         * GNUmakefile.am:
1902
1903 2013-08-16  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
1904
1905         [GTK] fixing localizedString method name
1906         https://bugs.webkit.org/show_bug.cgi?id=119884
1907
1908         The method name defined in LocalizedStringsGtk.cpp doesn't not match
1909         the one used in LocalizedStrings.h
1910
1911         Reviewed by Gustavo Noronha Silva.
1912
1913         * platform/gtk/LocalizedStringsGtk.cpp:
1914         (WebCore::textTrackOffMenuItemText):
1915
1916 2013-08-16  Andrei Parvu  <parvu@adobe.com>
1917
1918         [CSS Masking] Add -webkit-mask-source-type property, with auto, alpha and luminance values
1919         https://bugs.webkit.org/show_bug.cgi?id=119614
1920
1921         Added the -webkit-mask-source-type property, which can have a value of auto, alpha or
1922         luminance. The default value is auto. This patch contains only the parsing of the property,
1923         not the actual implementation of the types of masks. The parsing of mask-source-type in the
1924         -webkit-mask property will be handled in a separate patch.
1925
1926         Reviewed by Dirk Schulze.
1927
1928         Test: fast/masking/parsing-mask-source-type.html
1929
1930         * css/CSSComputedStyleDeclaration.cpp: Added case for CSSPropertyWebkitMaskType.
1931         (WebCore::ComputedStyleExtractor::propertyValue):
1932         * css/CSSParser.cpp: Parsed the values for CSSPropertyWebkitMaskType.
1933         (WebCore::CSSParser::parseValue):
1934         (WebCore::CSSParser::parseFillProperty):
1935         * css/CSSProperty.cpp:
1936         (WebCore::CSSProperty::isInheritedProperty):
1937         * css/CSSPropertyNames.in: Added -webkit-mask-type property.
1938         * css/CSSToStyleMap.cpp: map the provided mask type to the FillLayer class.
1939         (WebCore::CSSToStyleMap::mapFillMaskType):
1940         * css/CSSToStyleMap.h:
1941         * css/DeprecatedStyleBuilder.cpp:
1942         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1943         * css/StyleResolver.cpp:
1944         (WebCore::StyleResolver::applyProperty):
1945         * rendering/style/FillLayer.cpp: Added the m_maskType property to the FillLayer class.
1946         (WebCore::FillLayer::FillLayer):
1947         (WebCore::FillLayer::operator=):
1948         (WebCore::FillLayer::operator==):
1949         * rendering/style/FillLayer.h: Added methods for working with m_maskType.
1950         (WebCore::FillLayer::maskType):
1951         (WebCore::FillLayer::isMaskTypeSet):
1952         (WebCore::FillLayer::setMaskType):
1953         (WebCore::FillLayer::clearMaskType):
1954         (WebCore::FillLayer::initialMaskType):
1955         * rendering/style/RenderStyleConstants.h: Added the EMaskSourceType enum.
1956
1957 2013-08-16  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1958
1959         <https://webkit.org/b/119885> [CMake] Always build our generated versions of ANGLE's glslang.cpp and glslang_tab.cpp
1960
1961         Reviewed by Gyuyoung Kim.
1962
1963         Now that r154109 has landed, all Bison versions (at least from 2.3 up
1964         to the latest 3.0) should be able to generate versions of glslang* that
1965         build correctly.
1966
1967         Since the idea is to remove the prebuilt files from future imports of
1968         ANGLE, always building our own versions is a good idea, and allows us
1969         to get rid of some very ugly CMake checks.
1970
1971         * CMakeLists.txt: Always build glslang.cpp and glslang_tab.cpp from
1972         DERIVED_SOURCES_WEBCORE_DIR.
1973
1974 2013-08-16  Julien Brianceau  <jbrianceau@nds.com>
1975
1976         <https://webkit.org/b/119880> [Qt] Build fix (broken since r154142).
1977
1978         Reviewed by Gyuyoung Kim.
1979
1980         Since r154142, Frame::loader() is a reference (and not a pointer anymore).
1981
1982         * xml/parser/XMLDocumentParserQt.cpp:
1983         (WebCore::XMLDocumentParser::parseStartElement):
1984
1985 2013-08-16  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
1986
1987         [WebGL] Vertex attribute binding validation method
1988         https://bugs.webkit.org/show_bug.cgi?id=119515
1989
1990         This patch refactors WebGLRenderingContext code by moving the vertex
1991         attribute binding validation to a separate method. It is now
1992         possible to use that validation in other parts of the code. The
1993         code is more clear now. 
1994
1995         Reviewed by Christophe Dumez.
1996
1997         No new tests. Covered by existing tests. No behaviour changed.
1998         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/gl-drawelements.html
1999         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-elements-out-of-bounds.html
2000         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-arrays-out-of-bounds.html
2001
2002         * html/canvas/WebGLRenderingContext.cpp:
2003         (WebCore::WebGLRenderingContext::validateVertexAttributes):
2004         * html/canvas/WebGLVertexArrayObjectOES.h:
2005         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::isBound):
2006         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::validateBinding):
2007
2008 2013-08-15  Antti Koivisto  <antti@apple.com>
2009
2010         <https://webkit.org/b/119865> Parent pointer and shadow root host pointer should not be shared
2011
2012         Reviewed by Andreas Kling.
2013
2014         Node::m_parentOrShadowHostNode is currently used both as the parent pointer for regular nodes and as the host
2015         pointer for ShadowRoots. This is confusing. It is also slow as it introduces a branch to all code paths that 
2016         want to traverse ancestors normally, without leaving the shadow trees. This is much more popular than
2017         traversing through.
2018         
2019         This patch makes the Node have a pure parent pointer only and adds the host element pointer as a separate
2020         member in ShadowRoot. This eliminates the ShadowRoot test branch from Node::parentNode() as the pointer is
2021         now always null in the root node.
2022         
2023         ShadowRoot grows by a pointer. This is not significant as there are few ShadowRoots compared to Nodes.
2024
2025         * css/StyleResolver.cpp:
2026         (WebCore::StyleResolver::pushParentShadowRoot):
2027         (WebCore::StyleResolver::popParentShadowRoot):
2028         * dom/Attr.cpp:
2029         (WebCore::Attr::createTextChild):
2030         * dom/ComposedShadowTreeWalker.cpp:
2031         (WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
2032         * dom/ContainerNode.cpp:
2033         (WebCore::ContainerNode::insertBeforeCommon):
2034         (WebCore::ContainerNode::removeBetween):
2035         * dom/ContainerNodeAlgorithms.cpp:
2036         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
2037         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
2038         * dom/ContainerNodeAlgorithms.h:
2039         (WebCore::appendChildToContainer):
2040         (WebCore::Private::addChildNodesToDeletionQueue):
2041         * dom/Document.h:
2042         (WebCore::Node::Node):
2043         * dom/Element.cpp:
2044         (WebCore::Element::addShadowRoot):
2045         (WebCore::Element::removeShadowRoot):
2046         * dom/ElementRareData.h:
2047         (WebCore::ElementRareData::releasePseudoElement):
2048         * dom/EventPathWalker.cpp:
2049         (WebCore::EventPathWalker::moveToParent):
2050         * dom/EventRetargeter.cpp:
2051         (WebCore::determineDispatchBehavior):
2052         * dom/EventRetargeter.h:
2053         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
2054         * dom/Node.cpp:
2055         (WebCore::Node::shadowHost):
2056         (WebCore::Node::deprecatedShadowAncestorNode):
2057         (WebCore::Node::parentOrShadowHostElement):
2058         * dom/Node.h:
2059         (WebCore::Node::hasTreeSharedParent):
2060         
2061             Shadow host elements refs the ShadowRoot. There is no reason to use TreeShared to keep it alive.
2062
2063         (WebCore::Node::setParentNode):
2064         (WebCore::Node::parentNode):
2065         (WebCore::Node::parentNodeGuaranteedHostFree):
2066         * dom/PseudoElement.cpp:
2067         (WebCore::PseudoElement::PseudoElement):
2068         * dom/ShadowRoot.cpp:
2069         (WebCore::ShadowRoot::ShadowRoot):
2070         (WebCore::ShadowRoot::setInnerHTML):
2071         (WebCore::ShadowRoot::setApplyAuthorStyles):
2072         (WebCore::ShadowRoot::setResetStyleInheritance):
2073         * dom/ShadowRoot.h:
2074         
2075             Rename host() -> hostElement() for clarity.
2076
2077         (WebCore::Node::parentOrShadowHostNode):
2078         * dom/Text.cpp:
2079         (WebCore::isSVGShadowText):
2080         * dom/TreeScope.cpp:
2081         (WebCore::TreeScope::focusedElement):
2082         * html/shadow/ContentDistributor.cpp:
2083         (WebCore::ContentDistributor::ensureDistribution):
2084         * html/shadow/InsertionPoint.cpp:
2085         (WebCore::InsertionPoint::insertedInto):
2086         (WebCore::InsertionPoint::removedFrom):
2087         (WebCore::InsertionPoint::parseAttribute):
2088         * page/DragController.cpp:
2089         (WebCore::asFileInput):
2090         * page/EventHandler.cpp:
2091         (WebCore::EventHandler::handleMousePressEvent):
2092         (WebCore::instanceAssociatedWithShadowTreeElement):
2093         * page/FocusController.cpp:
2094         (WebCore::FocusNavigationScope::owner):
2095         * rendering/RenderBlock.cpp:
2096         (WebCore::RenderBlock::hasLineIfEmpty):
2097         * rendering/RenderLayer.cpp:
2098         (WebCore::rendererForScrollbar):
2099         * svg/SVGElementInstance.h:
2100         (WebCore::SVGElementInstance::setParentNode):
2101             
2102             Renamed so it works with appendChildToContainer template.
2103
2104         * svg/SVGStyledElement.cpp:
2105         (WebCore::SVGStyledElement::title):
2106
2107 2013-08-13  Darin Adler  <darin@apple.com>
2108
2109         [iOS] Get iOS port off legacy clipboard
2110         https://bugs.webkit.org/show_bug.cgi?id=116412
2111
2112         Reviewed by Daniel Bates.
2113
2114         * dom/Clipboard.h: Turn off legacy style clipboard for iOS.
2115         Next patch will be able to remove legacy style entirely!
2116
2117         * editing/Editor.cpp:
2118         (WebCore::Editor::dispatchCPPEvent): Attach the frame to the
2119         pasteboard directly explicitly. This is a layering violation, but
2120         is needed until we change how iOS pasteboard communicates with the
2121         host to use platform strategies instead of the editor client.
2122
2123         * editing/ios/EditorIOS.mm: Removed Editor::newGeneralClipboard and
2124         the include of ClipboardIOS.h.
2125
2126         * platform/Pasteboard.h: Added the setFrame function (iOS-only) and
2127         frame and change count data members.
2128
2129         * platform/ios/ClipboardIOS.h: Emptied out. Later we can remove this.
2130         * platform/ios/ClipboardIOS.mm: Ditto.
2131
2132         * platform/ios/PasteboardIOS.mm:
2133         (WebCore::Pasteboard::Pasteboard): Initialize m_frame to zero.
2134         (WebCore::Pasteboard::createForCopyAndPaste): Added.
2135         (WebCore::Pasteboard::createPrivate): Added.
2136         (WebCore::Pasteboard::writePasteboard): Added. Empty function, like
2137         writeClipboard. Eventually need to remove or implement this.
2138         (WebCore::Pasteboard::setFrame): Added. Sets frame and change count.
2139         (WebCore::Pasteboard::hasData): Moved here from ClipboardIOS.
2140         (WebCore::utiTypeFromCocoaType): Ditto.
2141         (WebCore::cocoaTypeFromHTMLClipboardType): Ditto.
2142         (WebCore::Pasteboard::clear): Ditto.
2143         (WebCore::Pasteboard::readString): Ditto.
2144         (WebCore::addHTMLClipboardTypesForCocoaType): Ditto.
2145         (WebCore::Pasteboard::writeString): Ditto.
2146         (WebCore::Pasteboard::types): Ditto.
2147         (WebCore::Pasteboard::readFilenames): Ditto.
2148
2149         * WebCore.exp.in: Move Clipboard destructor from Mac-only section to
2150         common section shared by Mac and iOS.
2151
2152 2013-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
2153
2154         [EFL] Unreviewed build fix after r154142 and r154144.
2155
2156         * platform/efl/ErrorsEfl.cpp: Follow the changes of r154142.
2157         (WebCore::printError):
2158         (WebCore::printerNotFoundError):
2159         (WebCore::invalidPageRangeToPrint):
2160
2161 2013-08-15  Hans Muller  <hmuller@adobe.com>
2162
2163         [CSS Shapes] Add support for shape-outside image values
2164         https://bugs.webkit.org/show_bug.cgi?id=119809
2165
2166         Added minimal support for shape-outside image values. A new method that computes
2167         the excluded intervals for a horizontal line segment was added to the RasterIntervals
2168         class. The stub RasterShape getExcludedIntervals() method has been replaced by
2169         one that uses the new method.
2170
2171         Image shapes are represented by a RasterIntervals object, which just encapsulates a
2172         Region object. The new getExcludedIntervals() method computes the excluded intervals
2173         for a horizontal line segment between y1 and y2. To find the excluded intervals we
2174         vertically expand each of the image shape Region's rectangles that fall within the line
2175         segment, so that they begin at y1 and have height = y2 - y1. The union of the expanded
2176         rectangles produces a new Region whose horizontal projection defines the excluded intervals.
2177
2178         Reviewed by Alexandru Chiculita.
2179
2180         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html
2181                fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html
2182
2183         * rendering/shapes/RasterShape.cpp:
2184         (WebCore::RasterShapeIntervals::getExcludedIntervals): See above.
2185         (WebCore::RasterShape::getExcludedIntervals): Stub method has been replaced by one that uses RasterShapeIntervals::getExcludedIntervals().
2186         * rendering/shapes/RasterShape.h:
2187         * rendering/shapes/ShapeOutsideInfo.cpp:
2188         (WebCore::ShapeOutsideInfo::isEnabledFor): Enable Image valued shapes.
2189
2190 2013-08-15  Simon Fraser  <simon.fraser@apple.com>
2191
2192         <https://webkit.org/b/119871> Flash of garbage pixels when playing a show on Hulu
2193
2194         Reviewed by Tim Horton.
2195         
2196         When starting a show on Hulu, there's a layer that gets marked as
2197         opaque because it has a child RenderLayer whose background fills the
2198         compositing layer. That child RenderLayer was recently position:fixed
2199         but outside the viewport, so its viewportConstrainedNotCompositedReason
2200         was set to a non-zero value.
2201         
2202         However, we failed to clear the viewportConstrainedNotCompositedReason
2203         when the layer became non-fixed. This caused painting the opaque
2204         layer to bail in RenderLayer::paintLayer(), leaving garbage.
2205
2206         Test: compositing/contents-opaque/fixed-to-nonfixed.html
2207
2208         * rendering/RenderLayer.cpp:
2209         (WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future.
2210         * rendering/RenderLayerCompositor.cpp:
2211         (WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the
2212         ViewportConstrainedNotCompositedReason if the layer is no longer fixed.
2213
2214 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
2215
2216         [Windows] Consolidate WebKit Bundle Handling
2217         https://bugs.webkit.org/show_bug.cgi?id=119869
2218
2219         Reviewed by Tim Horton.
2220
2221         * WebCore.vcxproj/WebCore.vcxproj: Add new WebCoreBundleWin files.
2222         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2223         * platform/network/curl/ResourceHandleManager.cpp:
2224         (WebCore::certificatePath): Use correct bundle handling logic.
2225         * platform/win/LocalizedStringsWin.cpp: Move bundle implementation to
2226         new WebCoreBundleWin.cpp file.
2227         * platform/win/WebCoreBundleWin.cpp: Added.
2228         (WebCore::createWebKitBundle):
2229         (WebCore::webKitBundle):
2230         * platform/win/WebCoreBundleWin.h: Added.
2231
2232 2013-08-15  Anders Carlsson  <andersca@apple.com>
2233
2234         <https://webkit.org/b/119859> Frame::loader() should return a reference
2235
2236         Reviewed by Andreas Kling.
2237
2238         * Modules/websockets/WebSocketChannel.cpp:
2239         (WebCore::WebSocketChannel::willOpenSocketStream):
2240         * WebCore.xcodeproj/project.pbxproj:
2241         * accessibility/AccessibilityObject.cpp:
2242         (WebCore::AccessibilityObject::press):
2243         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2244         (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
2245         * bindings/ScriptControllerBase.cpp:
2246         (WebCore::ScriptController::canExecuteScripts):
2247         * bindings/js/ScriptController.cpp:
2248         (WebCore::ScriptController::initScript):
2249         * css/CSSFontSelector.cpp:
2250         (WebCore::CSSFontSelector::beginLoadTimerFired):
2251         * dom/DOMImplementation.cpp:
2252         (WebCore::DOMImplementation::createDocument):
2253         * dom/Document.cpp:
2254         (WebCore::Document::Document):
2255         (WebCore::Document::setVisualUpdatesAllowed):
2256         (WebCore::Document::updateTitle):
2257         (WebCore::Document::open):
2258         (WebCore::Document::explicitClose):
2259         (WebCore::Document::implicitClose):
2260         (WebCore::Document::userAgent):
2261         (WebCore::Document::canNavigate):
2262         (WebCore::Document::processHttpEquiv):
2263         (WebCore::Document::referrer):
2264         (WebCore::Document::documentDidResumeFromPageCache):
2265         (WebCore::Document::openSearchDescriptionURL):
2266         (WebCore::Document::finishedParsing):
2267         (WebCore::Document::addIconURL):
2268         (WebCore::Document::initSecurityContext):
2269         (WebCore::Document::updateURLForPushOrReplaceState):
2270         (WebCore::Document::loadEventDelayTimerFired):
2271         (WebCore::Document::loader):
2272         (WebCore::Document::decrementActiveParserCount):
2273         * history/CachedFrame.cpp:
2274         (WebCore::CachedFrameBase::CachedFrameBase):
2275         (WebCore::CachedFrameBase::restore):
2276         (WebCore::CachedFrame::CachedFrame):
2277         (WebCore::CachedFrame::open):
2278         (WebCore::CachedFrame::destroy):
2279         * history/PageCache.cpp:
2280         (WebCore::logCanCacheFrameDecision):
2281         (WebCore::logCanCachePageDecision):
2282         (WebCore::PageCache::canCachePageContainingThisFrame):
2283         (WebCore::PageCache::canCache):
2284         * html/HTMLAnchorElement.cpp:
2285         (WebCore::HTMLAnchorElement::handleClick):
2286         * html/HTMLAppletElement.cpp:
2287         (WebCore::HTMLAppletElement::updateWidget):
2288         * html/HTMLElement.cpp:
2289         (WebCore::HTMLElement::rendererIsNeeded):
2290         * html/HTMLEmbedElement.cpp:
2291         (WebCore::HTMLEmbedElement::updateWidget):
2292         * html/HTMLFormElement.cpp:
2293         (WebCore::HTMLFormElement::prepareForSubmission):
2294         (WebCore::HTMLFormElement::submit):
2295         * html/HTMLFrameElementBase.cpp:
2296         (WebCore::HTMLFrameElementBase::openURL):
2297         * html/HTMLFrameOwnerElement.cpp:
2298         (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
2299         * html/HTMLFrameSetElement.cpp:
2300         (WebCore::HTMLFrameSetElement::insertedInto):
2301         (WebCore::HTMLFrameSetElement::removedFrom):
2302         * html/HTMLHtmlElement.cpp:
2303         (WebCore::HTMLHtmlElement::insertedByParser):
2304         * html/HTMLMediaElement.cpp:
2305         (WebCore::HTMLMediaElement::createRenderer):
2306         (WebCore::HTMLMediaElement::attach):
2307         (WebCore::HTMLMediaElement::loadResource):
2308         (WebCore::HTMLMediaElement::getPluginProxyParams):
2309         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
2310         (WebCore::HTMLMediaElement::updateWidget):
2311         (WebCore::HTMLMediaElement::mediaPlayerReferrer):
2312         (WebCore::HTMLMediaElement::mediaPlayerUserAgent):
2313         * html/HTMLObjectElement.cpp:
2314         (WebCore::HTMLObjectElement::parametersForPlugin):
2315         (WebCore::HTMLObjectElement::updateWidget):
2316         * html/HTMLPlugInImageElement.cpp:
2317         (WebCore::HTMLPlugInImageElement::isImageType):
2318         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
2319         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):
2320         * html/HTMLVideoElement.cpp:
2321         (WebCore::HTMLVideoElement::setDisplayMode):
2322         * html/ImageDocument.cpp:
2323         (WebCore::ImageDocumentParser::appendBytes):
2324         (WebCore::ImageDocumentParser::finish):
2325         (WebCore::ImageDocument::createDocumentStructure):
2326         * html/MediaDocument.cpp:
2327         (WebCore::MediaDocumentParser::createDocumentStructure):
2328         * html/PluginDocument.cpp:
2329         (WebCore::PluginDocumentParser::createDocumentStructure):
2330         (WebCore::PluginDocumentParser::appendBytes):
2331         (WebCore::PluginDocument::detach):
2332         (WebCore::PluginDocument::cancelManualPluginLoad):
2333         * html/canvas/WebGLRenderingContext.cpp:
2334         (WebCore::WebGLRenderingContext::create):
2335         (WebCore::WebGLRenderingContext::loseContextImpl):
2336         (WebCore::WebGLRenderingContext::maybeRestoreContext):
2337         * html/parser/HTMLConstructionSite.cpp:
2338         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
2339         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
2340         * html/parser/HTMLParserOptions.cpp:
2341         (WebCore::HTMLParserOptions::HTMLParserOptions):
2342         * html/parser/XSSAuditor.cpp:
2343         (WebCore::XSSAuditor::init):
2344         * html/parser/XSSAuditorDelegate.cpp:
2345         (WebCore::XSSAuditorDelegate::generateViolationReport):
2346         (WebCore::XSSAuditorDelegate::didBlockScript):
2347         * inspector/InspectorApplicationCacheAgent.cpp:
2348         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
2349         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
2350         * inspector/InspectorFrontendClientLocal.cpp:
2351         (WebCore::InspectorFrontendClientLocal::openInNewTab):
2352         * inspector/InspectorFrontendHost.cpp:
2353         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
2354         * inspector/InspectorOverlay.cpp:
2355         (WebCore::InspectorOverlay::overlayPage):
2356         * inspector/InspectorPageAgent.cpp:
2357         (WebCore::InspectorPageAgent::mainResourceContent):
2358         (WebCore::InspectorPageAgent::reload):
2359         (WebCore::InspectorPageAgent::navigate):
2360         (WebCore::allResourcesURLsForFrame):
2361         (WebCore::InspectorPageAgent::searchInResource):
2362         (WebCore::InspectorPageAgent::assertDocumentLoader):
2363         (WebCore::InspectorPageAgent::buildObjectForFrame):
2364         * inspector/InspectorResourceAgent.cpp:
2365         (WebCore::InspectorResourceAgent::didFailLoading):
2366         * loader/CookieJar.cpp:
2367         (WebCore::networkingContext):
2368         * loader/DocumentLoader.cpp:
2369         (WebCore::DocumentLoader::frameLoader):
2370         (WebCore::DocumentLoader::document):
2371         (WebCore::DocumentLoader::stopLoading):
2372         (WebCore::DocumentLoader::removeSubresourceLoader):
2373         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
2374         (WebCore::DocumentLoader::iconLoadDecisionAvailable):
2375         (WebCore::DocumentLoader::continueIconLoadWithDecision):
2376         * loader/DocumentThreadableLoader.cpp:
2377         (WebCore::DocumentThreadableLoader::didReceiveResponse):
2378         (WebCore::DocumentThreadableLoader::didFinishLoading):
2379         (WebCore::DocumentThreadableLoader::didFail):
2380         (WebCore::DocumentThreadableLoader::preflightFailure):
2381         (WebCore::DocumentThreadableLoader::loadRequest):
2382         * loader/DocumentWriter.cpp:
2383         (WebCore::DocumentWriter::replaceDocument):
2384         (WebCore::DocumentWriter::createDocument):
2385         (WebCore::DocumentWriter::begin):
2386         * loader/FrameLoader.cpp:
2387         (WebCore::FrameLoader::~FrameLoader):
2388         (WebCore::FrameLoader::allChildrenAreComplete):
2389         (WebCore::FrameLoader::allAncestorsAreComplete):
2390         (WebCore::FrameLoader::loadURLIntoChildFrame):
2391         (WebCore::FrameLoader::outgoingReferrer):
2392         (WebCore::FrameLoader::setOpener):
2393         (WebCore::FrameLoader::completed):
2394         (WebCore::FrameLoader::started):
2395         (WebCore::FrameLoader::loadFrameRequest):
2396         (WebCore::FrameLoader::loadURL):
2397         (WebCore::FrameLoader::load):
2398         (WebCore::FrameLoader::loadWithDocumentLoader):
2399         (WebCore::FrameLoader::stopAllLoaders):
2400         (WebCore::FrameLoader::closeOldDataSources):
2401         (WebCore::FrameLoader::subframeIsLoading):
2402         (WebCore::FrameLoader::subresourceCachePolicy):
2403         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2404         (WebCore::FrameLoader::detachChildren):
2405         (WebCore::FrameLoader::checkLoadComplete):
2406         (WebCore::FrameLoader::detachFromParent):
2407         (WebCore::FrameLoader::loadPostRequest):
2408         (WebCore::FrameLoader::loadResourceSynchronously):
2409         (WebCore::FrameLoader::shouldClose):
2410         (WebCore::FrameLoader::handleBeforeUnloadEvent):
2411         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2412         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2413         (WebCore::createWindow):
2414         * loader/HistoryController.cpp:
2415         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
2416         (WebCore::HistoryController::restoreScrollPositionAndViewState):
2417         (WebCore::HistoryController::saveDocumentState):
2418         (WebCore::HistoryController::saveDocumentAndScrollState):
2419         (WebCore::isAssociatedToRequestedHistoryItem):
2420         (WebCore::HistoryController::restoreDocumentState):
2421         (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
2422         (WebCore::HistoryController::goToItem):
2423         (WebCore::HistoryController::updateForBackForwardNavigation):
2424         (WebCore::HistoryController::updateForReload):
2425         (WebCore::HistoryController::updateForStandardLoad):
2426         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
2427         (WebCore::HistoryController::updateForClientRedirect):
2428         (WebCore::HistoryController::updateForCommit):
2429         (WebCore::HistoryController::recursiveUpdateForCommit):
2430         (WebCore::HistoryController::updateForSameDocumentNavigation):
2431         (WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
2432         (WebCore::HistoryController::initializeItem):
2433         (WebCore::HistoryController::createItemTree):
2434         (WebCore::HistoryController::recursiveSetProvisionalItem):
2435         (WebCore::HistoryController::recursiveGoToItem):
2436         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
2437         (WebCore::HistoryController::updateCurrentItem):
2438         (WebCore::HistoryController::pushState):
2439         (WebCore::HistoryController::replaceState):
2440         * loader/ImageLoader.cpp:
2441         (WebCore::pageIsBeingDismissed):
2442         * loader/MixedContentChecker.cpp:
2443         (WebCore::MixedContentChecker::client):
2444         * loader/NavigationScheduler.cpp:
2445         (WebCore::ScheduledURLNavigation::fire):
2446         (WebCore::ScheduledURLNavigation::didStartTimer):
2447         (WebCore::ScheduledURLNavigation::didStopTimer):
2448         (WebCore::ScheduledRedirect::shouldStartTimer):
2449         (WebCore::ScheduledRedirect::fire):
2450         (WebCore::ScheduledRefresh::fire):
2451         (WebCore::ScheduledHistoryNavigation::fire):
2452         (WebCore::ScheduledFormSubmission::fire):
2453         (WebCore::ScheduledFormSubmission::didStartTimer):
2454         (WebCore::ScheduledFormSubmission::didStopTimer):
2455         (WebCore::NavigationScheduler::mustLockBackForwardList):
2456         (WebCore::NavigationScheduler::scheduleLocationChange):
2457         (WebCore::NavigationScheduler::scheduleFormSubmission):
2458         (WebCore::NavigationScheduler::scheduleRefresh):
2459         (WebCore::NavigationScheduler::schedule):
2460         * loader/PingLoader.cpp:
2461         (WebCore::PingLoader::loadImage):
2462         (WebCore::PingLoader::sendPing):
2463         (WebCore::PingLoader::sendViolationReport):
2464         (WebCore::PingLoader::PingLoader):
2465         * loader/PolicyChecker.cpp:
2466         (WebCore::PolicyChecker::checkNavigationPolicy):
2467         (WebCore::PolicyChecker::checkNewWindowPolicy):
2468         (WebCore::PolicyChecker::checkContentPolicy):
2469         (WebCore::PolicyChecker::cancelCheck):
2470         (WebCore::PolicyChecker::stopCheck):
2471         (WebCore::PolicyChecker::cannotShowMIMEType):
2472         (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
2473         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
2474         (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
2475         (WebCore::PolicyChecker::handleUnimplementablePolicy):
2476         * loader/ProgressTracker.cpp:
2477         (WebCore::ProgressTracker::progressStarted):
2478         (WebCore::ProgressTracker::progressCompleted):
2479         (WebCore::ProgressTracker::finalProgressComplete):
2480         (WebCore::ProgressTracker::incrementProgress):
2481         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
2482         * loader/ResourceLoadNotifier.cpp:
2483         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2484         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2485         (WebCore::ResourceLoadNotifier::willSendRequest):
2486         (WebCore::ResourceLoadNotifier::didFailToLoad):
2487         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
2488         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2489         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2490         (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
2491         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2492         (WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
2493         * loader/ResourceLoader.cpp:
2494         (WebCore::ResourceLoader::ResourceLoader):
2495         (WebCore::ResourceLoader::start):
2496         (WebCore::ResourceLoader::frameLoader):
2497         (WebCore::ResourceLoader::willSendRequest):
2498         * loader/SubframeLoader.cpp:
2499         (WebCore::SubframeLoader::pluginIsLoadable):
2500         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
2501         (WebCore::SubframeLoader::createJavaAppletWidget):
2502         (WebCore::SubframeLoader::loadOrRedirectSubframe):
2503         (WebCore::SubframeLoader::loadSubframe):
2504         (WebCore::SubframeLoader::allowPlugins):
2505         (WebCore::SubframeLoader::shouldUsePlugin):
2506         (WebCore::SubframeLoader::loadPlugin):
2507         * loader/appcache/ApplicationCacheGroup.cpp:
2508         (WebCore::ApplicationCacheGroup::selectCache):
2509         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
2510         (WebCore::ApplicationCacheGroup::update):
2511         (WebCore::ApplicationCacheGroup::createResourceHandle):
2512         (WebCore::ApplicationCacheGroup::didReceiveResponse):
2513         (WebCore::ApplicationCacheGroup::didFinishLoading):
2514         (WebCore::ApplicationCacheGroup::didFail):
2515         (WebCore::ApplicationCacheGroup::addEntry):
2516         (WebCore::CallCacheListenerTask::performTask):
2517         (WebCore::ApplicationCacheGroup::postListenerTask):
2518         * loader/appcache/DOMApplicationCache.cpp:
2519         (WebCore::DOMApplicationCache::applicationCacheHost):
2520         * loader/archive/cf/LegacyWebArchive.cpp:
2521         (WebCore::LegacyWebArchive::create):
2522         (WebCore::LegacyWebArchive::createFromSelection):
2523         * loader/cache/CachedResource.cpp:
2524         (WebCore::CachedResource::addAdditionalRequestHeaders):
2525         (WebCore::CachedResource::load):
2526         * loader/cache/CachedResourceLoader.cpp:
2527         (WebCore::CachedResourceLoader::requestImage):
2528         (WebCore::CachedResourceLoader::checkInsecureContent):
2529         (WebCore::CachedResourceLoader::canRequest):
2530         (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
2531         (WebCore::CachedResourceLoader::requestResource):
2532         (WebCore::CachedResourceLoader::clientDefersImage):
2533         (WebCore::CachedResourceLoader::cachePolicy):
2534         (WebCore::CachedResourceLoader::loadDone):
2535         * loader/icon/IconController.cpp:
2536         (WebCore::IconController::commitToDatabase):
2537         (WebCore::IconController::startLoader):
2538         (WebCore::IconController::continueLoadWithDecision):
2539         * loader/icon/IconLoader.cpp:
2540         (WebCore::IconLoader::startLoading):
2541         (WebCore::IconLoader::notifyFinished):
2542         * page/Chrome.cpp:
2543         (WebCore::canRunModalIfDuringPageDismissal):
2544         * page/ContextMenuController.cpp:
2545         (WebCore::openNewWindow):
2546         (WebCore::ContextMenuController::contextMenuItemSelected):
2547         (WebCore::ContextMenuController::populate):
2548         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
2549         * page/DOMWindow.cpp:
2550         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
2551         (WebCore::DOMWindow::postMessageTimerFired):
2552         (WebCore::DOMWindow::close):
2553         (WebCore::DOMWindow::print):
2554         (WebCore::DOMWindow::stop):
2555         (WebCore::DOMWindow::setName):
2556         (WebCore::DOMWindow::opener):
2557         (WebCore::DOMWindow::dispatchLoadEvent):
2558         (WebCore::DOMWindow::setLocation):
2559         (WebCore::DOMWindow::createWindow):
2560         (WebCore::DOMWindow::open):
2561         * page/DOMWindowExtension.cpp:
2562         (WebCore::DOMWindowExtension::disconnectFrameForPageCache):
2563         (WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
2564         (WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
2565         (WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
2566         (WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
2567         * page/DragController.cpp:
2568         (WebCore::DragController::performDrag):
2569         * page/EventHandler.cpp:
2570         (WebCore::EventHandler::handleMousePressEvent):
2571         (WebCore::EventHandler::keyEvent):
2572         * page/Frame.cpp:
2573         (WebCore::Frame::~Frame):
2574         (WebCore::Frame::setView):
2575         (WebCore::Frame::injectUserScripts):
2576         (WebCore::Frame::willDetachPage):
2577         * page/Frame.h:
2578         (WebCore::Frame::loader):
2579         * page/FrameView.cpp:
2580         (WebCore::FrameView::mediaType):
2581         (WebCore::FrameView::setFixedVisibleContentRect):
2582         (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
2583         (WebCore::FrameView::performPostLayoutTasks):
2584         (WebCore::FrameView::autoSizeIfEnabled):
2585         (WebCore::FrameView::scrollTo):
2586         (WebCore::FrameView::shouldSuspendScrollAnimations):
2587         (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
2588         (WebCore::FrameView::wheelEvent):
2589         (WebCore::FrameView::firePaintRelatedMilestones):
2590         * page/History.cpp:
2591         (WebCore::History::stateInternal):
2592         (WebCore::History::stateObjectAdded):
2593         * page/Location.cpp:
2594         (WebCore::Location::setLocation):
2595         * page/Navigator.cpp:
2596         (WebCore::Navigator::userAgent):
2597         * page/Page.cpp:
2598         (WebCore::Page::goToItem):
2599         (WebCore::Page::refreshPlugins):
2600         (WebCore::Page::setDefersLoading):
2601         (WebCore::Page::setMemoryCacheClientCallsEnabled):
2602         (WebCore::Page::addRelevantRepaintedObject):
2603         * page/Performance.cpp:
2604         (WebCore::Performance::now):
2605         * page/PerformanceNavigation.cpp:
2606         (WebCore::PerformanceNavigation::type):
2607         (WebCore::PerformanceNavigation::redirectCount):
2608         * page/PerformanceResourceTiming.cpp:
2609         (WebCore::monotonicTimeToDocumentMilliseconds):
2610         * page/mac/PageMac.cpp:
2611         (WebCore::Page::addSchedulePair):
2612         (WebCore::Page::removeSchedulePair):
2613         * platform/ios/PasteboardIOS.mm:
2614         (WebCore::documentFragmentWithImageResource):
2615         (WebCore::documentFragmentWithRTF):
2616         (WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
2617         * platform/mac/HTMLConverter.mm:
2618         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
2619         (-[WebHTMLConverter _loadFromDOMRange]):
2620         * platform/mac/PasteboardMac.mm:
2621         (WebCore::documentFragmentWithImageResource):
2622         (WebCore::documentFragmentWithRTF):
2623         (WebCore::fragmentFromWebArchive):
2624         * plugins/DOMMimeType.cpp:
2625         (WebCore::DOMMimeType::enabledPlugin):
2626         * rendering/RenderLayer.cpp:
2627         (WebCore::RenderLayer::scrollTo):
2628         * svg/SVGAElement.cpp:
2629         (WebCore::SVGAElement::defaultEventHandler):
2630         * svg/graphics/SVGImage.cpp:
2631         (WebCore::SVGImage::~SVGImage):
2632         (WebCore::SVGImage::dataChanged):
2633         * testing/Internals.cpp:
2634         (WebCore::Internals::formControlStateOfPreviousHistoryItem):
2635         (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
2636         (WebCore::Internals::getReferencedFilePaths):
2637         (WebCore::Internals::forceReload):
2638         * xml/XSLTProcessorLibxslt.cpp:
2639         (WebCore::docLoaderFunc):
2640         * xml/parser/XMLDocumentParserLibxml2.cpp:
2641         (WebCore::openFunc):
2642         (WebCore::XMLDocumentParser::startElementNs):
2643
2644 2013-08-15  Daniel Bates  <dabates@apple.com>
2645
2646         <https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
2647
2648         Reviewed by David Kilzer.
2649
2650         Use the same UUIDs for EditorIOS.mm and the group ios as in the iOS tree
2651         so as to make it straightforward to merge changes to the WebCore Xcode
2652         project file on WebKit.org with changes to the same file in the iOS tree.
2653
2654         * WebCore.xcodeproj/project.pbxproj:
2655
2656 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
2657
2658         [Windows] Unreviewed build fix after r15417.
2659
2660         * DerivedSources.cpp: Remove classes that now live in JSC.
2661         * WebCore.vcxproj/WebCore.vcxproj: Remove classes no longer included in WebCore.
2662         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2663         * bindings/js/WebCoreTypedArrayController.cpp: Add explicit namespace to avoid conflict
2664         with Windows 'Unknown' type.
2665         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
2666         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
2667
2668 2013-08-15  Daniel Bates  <dabates@apple.com>
2669
2670         <https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
2671
2672         Reviewed by David Kilzer.
2673
2674         * WebCore.xcodeproj/project.pbxproj:
2675         * editing/ios/EditorIOS.mm: Added.
2676         (WebCore::Editor::newGeneralClipboard):
2677         (WebCore::Editor::showFontPanel):
2678         (WebCore::Editor::showStylesPanel):
2679         (WebCore::Editor::showColorPanel):
2680         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
2681         (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
2682         (WebCore::styleForSelectionStart):
2683         (WebCore::Editor::fontForSelection):
2684         (WebCore::Editor::fontAttributesForSelectionStart):
2685         (WebCore::Editor::removeUnchangeableStyles):
2686
2687 2013-08-15  Dirk Schulze  <krit@webkit.org>
2688
2689         Implement CSS Image filter() function
2690         https://bugs.webkit.org/show_bug.cgi?id=119845
2691
2692         Reviewed by Dean Jackson.
2693
2694         The Filter Effects specification defines a new CSS Image function called
2695         filter(). This function takes another CSS Image as well as a filter function
2696         list as input and can be used by various CSS properties.
2697
2698         Example:
2699
2700             background-image: -webkit-filter(url(image.png), brightness(0.5))
2701
2702         This patch implements the current definition of filter() based on other
2703         image generation classes like CSSCrossfadeValue.
2704         A new class called CSSFilterImageValue was added together with an
2705         image observer.
2706
2707         The function is implemented prefixed and behind the compiler flag CSS_FILTERS.
2708
2709         Tests: fast/filter-image/filter-image.html
2710                fast/filter-image/parse-filter-image.html
2711
2712         * CMakeLists.txt: Added new files to build systems.
2713         * GNUmakefile.list.am:
2714         * Target.pri:
2715         * WebCore.vcxproj/WebCore.vcxproj:
2716         * WebCore.xcodeproj/project.pbxproj:
2717         * css/CSSAllInOne.cpp:
2718         * css/CSSCrossfadeValue.cpp: Share code together with CSSFilterImageValue
2719             in CSSImageGeneratorValue.cpp.
2720         (WebCore::CSSCrossfadeValue::isPending):
2721         (WebCore::CSSCrossfadeValue::loadSubimages):
2722         * css/CSSFilterImageValue.cpp: Added.
2723         (WebCore::CSSFilterImageValue::~CSSFilterImageValue):
2724         (WebCore::CSSFilterImageValue::customCssText):
2725         (WebCore::CSSFilterImageValue::fixedSize):
2726         (WebCore::CSSFilterImageValue::isPending):
2727         (WebCore::CSSFilterImageValue::knownToBeOpaque):
2728         (WebCore::CSSFilterImageValue::loadSubimages):
2729         (WebCore::CSSFilterImageValue::image):
2730         (WebCore::CSSFilterImageValue::filterImageChanged):
2731         (WebCore::CSSFilterImageValue::createFilterOperations):
2732         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::imageChanged):
2733         (WebCore::CSSFilterImageValue::hasFailedOrCanceledSubresources):
2734         (WebCore::CSSFilterImageValue::equals):
2735         * css/CSSFilterImageValue.h: Added.
2736         (WebCore::CSSFilterImageValue::create):
2737         (WebCore::CSSFilterImageValue::isFixedSize):
2738         (WebCore::CSSFilterImageValue::CSSFilterImageValue):
2739         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::FilterSubimageObserverProxy):
2740         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::~FilterSubimageObserverProxy):
2741         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::setReady):
2742         * css/CSSImageGeneratorValue.cpp: Shared code between CSSCrossfadeValue and
2743             CSSFilterImageValue.
2744         (WebCore::CSSImageGeneratorValue::image):
2745         (WebCore::CSSImageGeneratorValue::isFixedSize):
2746         (WebCore::CSSImageGeneratorValue::fixedSize):
2747         (WebCore::CSSImageGeneratorValue::isPending):
2748         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
2749         (WebCore::CSSImageGeneratorValue::loadSubimages):
2750         (WebCore::CSSImageGeneratorValue::subimageIsPending):
2751         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
2752         * css/CSSImageGeneratorValue.h:
2753         * css/CSSParser.cpp: Added parsing information for new image function.
2754         (WebCore::CSSParser::parseValue):
2755         (WebCore::CSSParser::isGeneratedImageValue):
2756         (WebCore::CSSParser::parseGeneratedImage):
2757         (WebCore::CSSParser::parseFilterImage):
2758         (WebCore::CSSParser::parseFilter):
2759         * css/CSSParser.h:
2760         * css/CSSValue.cpp:
2761         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
2762         (WebCore::CSSValue::equals):
2763         (WebCore::CSSValue::cssText):
2764         (WebCore::CSSValue::destroy):
2765         * css/CSSValue.h:
2766         (WebCore::CSSValue::isFilterImageValue):
2767         * css/StyleResolver.cpp:
2768         (WebCore::StyleResolver::applyProperty):
2769         (WebCore::StyleResolver::generatedOrPendingFromValue):
2770         (WebCore::StyleResolver::createFilterOperations):
2771         * css/StyleResolver.h: StyleResolver needs to be passed to
2772             CSSFilterImageValue in order to resolve blur() and
2773             drop-shadow() function. Both needs to be resolved together
2774             with all other properties and can't be done earlier or later.
2775         * rendering/FilterEffectRenderer.cpp:
2776         (WebCore::FilterEffectRenderer::build): Pass an argument whether the
2777             intermediate filter results should be clipped or not. The filter
2778             property for instance doesn't clip but scales the intermediate
2779             image sizes.
2780         * rendering/FilterEffectRenderer.h:
2781
2782 2013-08-15  Filip Pizlo  <fpizlo@apple.com>
2783
2784         Unreviewed, fix bindings tests after http://trac.webkit.org/changeset/154127
2785
2786         * bindings/scripts/test/JS/JSTestCallback.cpp:
2787         (WebCore::JSTestCallback::callbackWithArrayParam):
2788         * bindings/scripts/test/JS/JSTestCallback.h:
2789         * bindings/scripts/test/JS/JSTestObj.cpp:
2790         (WebCore::setJSTestObjTypedArrayAttr):
2791         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2792         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
2793         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2794         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2795         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
2796         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2797         * bindings/scripts/test/TestTypedArray.idl: Removed.
2798
2799 2013-08-15  Ryosuke Niwa  <rniwa@webkit.org>
2800
2801         Qt minimum build fix after r154116.
2802
2803         * page/FrameView.cpp:
2804         (WebCore::FrameView::sendResizeEventIfNeeded):
2805
2806 2013-08-14  Filip Pizlo  <fpizlo@apple.com>
2807
2808         Typed arrays should be rewritten
2809         https://bugs.webkit.org/show_bug.cgi?id=119064
2810
2811         Reviewed by Oliver Hunt.
2812
2813         Typed arrays are now implemented in JavaScriptCore, and WebCore is merely a
2814         client of them. There is only one layering violation: WebCore installs a
2815         WebCoreTypedArrayController on VM, which makes the
2816         ArrayBuffer<->JSArrayBuffer relationship resemble DOM wrappers. By default,
2817         JSC makes the ownership go one way; the JSArrayBuffer keeps the ArrayBuffer
2818         alive but if ArrayBuffer is kept alive from native code then the
2819         JSArrayByffer may die. WebCoreTypedArrayController will keep the
2820         JSArrayBuffer alive if the ArrayBuffer is in the opaque root set.
2821         
2822         To make non-JSDOMWrappers behave like DOM wrappers, a bunch of code is
2823         changed to make most references to wrappers refer to JSObject* rather than
2824         JSDOMWrapper*.
2825         
2826         Array buffer views are now transient; the JS array buffer view wrappers
2827         don't own them or keep them alive. This required a bunch of changes to make
2828         bindings code use RefPtr<ArrayBufferView> to hold onto their views.
2829         
2830         Also there is a bunch of new code to make JSC-provided array buffers and
2831         views obey the toJS/to<ClassName> idiom for wrapping and unwrapping.
2832         
2833         Finally, the DataView API is now completely different: the JSDataView
2834         provides the same user-visible JS API but using its own internal magic; the
2835         C++ code that uses DataView now uses a rather different API that is not
2836         aware of usual DOM semantics, since it's in JSC and not WebCore. It's
2837         equally useful for all of WebCore's purposes, but some code had to change
2838         to adapt the new conventions.
2839         
2840         Some tests have been changed or rebased due to changes in behavior, that
2841         bring us into conformance with where the standards are going and allow us to
2842         match Firefox behavior.
2843
2844         Automake work and some additional GTK changes courtesy of
2845         Zan Dobersek <zdobersek@igalia.com>.
2846         
2847         Additional Qt changes courtesy of Arunprasad Rajkumar <arurajku@cisco.com>.
2848
2849         * CMakeLists.txt:
2850         * DerivedSources.make:
2851         * ForwardingHeaders/runtime/DataView.h: Added.
2852         * ForwardingHeaders/runtime/JSArrayBuffer.h: Added.
2853         * ForwardingHeaders/runtime/JSArrayBufferView.h: Added.
2854         * ForwardingHeaders/runtime/JSDataView.h: Added.
2855         * ForwardingHeaders/runtime/JSTypedArrays.h: Added.
2856         * ForwardingHeaders/runtime/TypedArrayController.h: Added.
2857         * ForwardingHeaders/runtime/TypedArrayInlines.h: Added.
2858         * ForwardingHeaders/runtime/TypedArrays.h: Added.
2859         * GNUmakefile.list.am:
2860         * Modules/webaudio/RealtimeAnalyser.h:
2861         * Target.pri:
2862         * UseJSC.cmake:
2863         * WebCore.exp.in:
2864         * WebCore.vcxproj/WebCore.vcxproj:
2865         * WebCore.xcodeproj/project.pbxproj:
2866         * bindings/js/DOMWrapperWorld.h:
2867         * bindings/js/JSArrayBufferCustom.cpp: Removed.
2868         * bindings/js/JSArrayBufferViewHelper.h: Removed.
2869         * bindings/js/JSAudioContextCustom.cpp:
2870         * bindings/js/JSBindingsAllInOne.cpp:
2871         * bindings/js/JSBlobCustom.cpp:
2872         * bindings/js/JSCSSRuleCustom.cpp:
2873         (WebCore::toJS):
2874         * bindings/js/JSCSSValueCustom.cpp:
2875         (WebCore::toJS):
2876         * bindings/js/JSCryptoCustom.cpp:
2877         (WebCore::JSCrypto::getRandomValues):
2878         * bindings/js/JSDOMBinding.h:
2879         (WebCore::wrapperOwner):
2880         (WebCore::wrapperContext):
2881         (WebCore::getInlineCachedWrapper):
2882         (WebCore::setInlineCachedWrapper):
2883         (WebCore::clearInlineCachedWrapper):
2884         (WebCore::getCachedWrapper):
2885         (WebCore::cacheWrapper):
2886         (WebCore::uncacheWrapper):
2887         (WebCore::wrap):
2888         (WebCore::toJS):
2889         (WebCore::toArrayBufferView):
2890         (WebCore::toInt8Array):
2891         (WebCore::toInt16Array):
2892         (WebCore::toInt32Array):
2893         (WebCore::toUint8Array):
2894         (WebCore::toUint8ClampedArray):
2895         (WebCore::toUint16Array):
2896         (WebCore::toUint32Array):
2897         (WebCore::toFloat32Array):
2898         (WebCore::toFloat64Array):
2899         (WebCore::toDataView):
2900         * bindings/js/JSDataViewCustom.cpp: Removed.
2901         * bindings/js/JSDictionary.cpp:
2902         * bindings/js/JSDictionary.h:
2903         * bindings/js/JSDocumentCustom.cpp:
2904         (WebCore::JSDocument::location):
2905         (WebCore::toJS):
2906         * bindings/js/JSEventCustom.cpp:
2907         (WebCore::toJS):
2908         * bindings/js/JSFileReaderCustom.cpp:
2909         * bindings/js/JSHTMLCollectionCustom.cpp:
2910         (WebCore::toJS):
2911         * bindings/js/JSHTMLTemplateElementCustom.cpp:
2912         (WebCore::JSHTMLTemplateElement::content):
2913         * bindings/js/JSImageDataCustom.cpp:
2914         (WebCore::toJS):
2915         * bindings/js/JSInjectedScriptHostCustom.cpp:
2916         * bindings/js/JSMessageEventCustom.cpp:
2917         * bindings/js/JSMessagePortCustom.cpp:
2918         * bindings/js/JSSVGPathSegCustom.cpp:
2919         (WebCore::toJS):
2920         * bindings/js/JSStyleSheetCustom.cpp:
2921         (WebCore::toJS):
2922         * bindings/js/JSTrackCustom.cpp:
2923         (WebCore::toJS):
2924         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2925         * bindings/js/JSXMLHttpRequestCustom.cpp:
2926         (WebCore::JSXMLHttpRequest::send):
2927         * bindings/js/SerializedScriptValue.cpp:
2928         (WebCore::SerializedScriptValue::transferArrayBuffers):
2929         * bindings/js/WebCoreJSClientData.h:
2930         (WebCore::initNormalWorldClientData):
2931         * bindings/js/WebCoreTypedArrayController.cpp: Added.
2932         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
2933         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController):
2934         (WebCore::WebCoreTypedArrayController::toJS):
2935         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
2936         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
2937         * bindings/js/WebCoreTypedArrayController.h: Added.
2938         (WebCore::WebCoreTypedArrayController::wrapperOwner):
2939         * bindings/scripts/CodeGenerator.pm:
2940         (ForAllParents):
2941         (ParseInterface):
2942         (SkipIncludeHeader):
2943         (IsTypedArrayType):
2944         (IsWrapperType):
2945         * bindings/scripts/CodeGeneratorJS.pm:
2946         (AddIncludesForType):
2947         (GenerateHeader):
2948         (GenerateImplementation):
2949         (GenerateParametersCheck):
2950         (GetNativeType):
2951         (JSValueToNative):
2952         (NativeToJSValue):
2953         (GenerateConstructorDefinition):
2954         (GenerateConstructorHelperMethods):
2955         * fileapi/WebKitBlobBuilder.cpp:
2956         (WebCore::BlobBuilder::append):
2957         * fileapi/WebKitBlobBuilder.h:
2958         * html/canvas/ArrayBuffer.idl: Removed.
2959         * html/canvas/ArrayBufferView.idl: Removed.
2960         * html/canvas/DataView.cpp: Removed.
2961         * html/canvas/DataView.h: Removed.
2962         * html/canvas/DataView.idl: Removed.
2963         * html/canvas/Float32Array.idl: Removed.
2964         * html/canvas/Float64Array.idl: Removed.
2965         * html/canvas/Int16Array.idl: Removed.
2966         * html/canvas/Int32Array.idl: Removed.
2967         * html/canvas/Int8Array.idl: Removed.
2968         * html/canvas/Uint16Array.idl: Removed.
2969         * html/canvas/Uint32Array.idl: Removed.
2970         * html/canvas/Uint8Array.idl: Removed.
2971         * html/canvas/Uint8ClampedArray.idl: Removed.
2972         * html/canvas/WebGLRenderingContext.cpp:
2973         (WebCore::WebGLRenderingContext::readPixels):
2974         (WebCore::WebGLRenderingContext::validateTexFuncData):
2975         * page/Crypto.cpp:
2976         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2977         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
2978         (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData):
2979         * platform/graphics/filters/FECustomFilter.h:
2980         * platform/graphics/filters/FEGaussianBlur.cpp:
2981         * platform/graphics/filters/FilterEffect.cpp:
2982         * testing/MockCDM.cpp:
2983
2984 2013-08-15  Chris Fleizach  <cfleizach@apple.com>
2985
2986         <https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it
2987
2988         Reviewed by Darin Adler.
2989
2990         Incorporate review feedback from Darin.
2991
2992         * accessibility/AccessibilityScrollView.cpp:
2993         (WebCore::AccessibilityScrollView::canSetFocusAttribute):
2994         (WebCore::AccessibilityScrollView::isFocused):
2995         * accessibility/AccessibilityScrollView.h:
2996
2997 2013-08-15  Andreas Kling  <akling@apple.com>
2998
2999         <https://webkit.org/b/119826> Page::focusController() should return a reference.
3000
3001         Reviewed by Anders Carlsson.
3002
3003         Page::focusController() is never null so make it return a reference.
3004         Some unnecessary checks were removed as a result.
3005
3006 2013-08-15  Rob Buis  <rwlbuis@webkit.org>
3007
3008         ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
3009         https://bugs.webkit.org/show_bug.cgi?id=116979
3010
3011         Reviewed by Alexey Proskuryakov.
3012
3013         Make constructors private since only ::create should use them.
3014
3015         * html/shadow/MeterShadowElement.h:
3016         * html/shadow/ProgressShadowElement.h:
3017
3018 2013-08-15  Tim Horton  <timothy_horton@apple.com>
3019
3020         FrameView should have an isMainFrameView()
3021         https://bugs.webkit.org/show_bug.cgi?id=119435
3022
3023         Reviewed by Simon Fraser.
3024
3025         No new tests, just refactoring.
3026
3027         * page/FrameView.cpp:
3028         (WebCore::FrameView::FrameView):
3029         (WebCore::FrameView::isMainFrameView):
3030         (WebCore::FrameView::setFrameRect):
3031         (WebCore::FrameView::createScrollbar):
3032         (WebCore::FrameView::applyOverflowToViewport):
3033         (WebCore::FrameView::setHeaderHeight):
3034         (WebCore::FrameView::setFooterHeight):
3035         (WebCore::FrameView::minimumScrollPosition):
3036         (WebCore::FrameView::maximumScrollPosition):
3037         (WebCore::FrameView::performPostLayoutTasks):
3038         (WebCore::FrameView::sendResizeEventIfNeeded):
3039         (WebCore::FrameView::pagination):
3040         (WebCore::FrameView::visibleContentScaleFactor):
3041         (WebCore::FrameView::setVisibleScrollerThumbRect):
3042         (WebCore::FrameView::scrollbarStyleChanged):
3043         (WebCore::FrameView::paintScrollCorner):
3044         (WebCore::FrameView::paintScrollbar):
3045         (WebCore::FrameView::paintOverhangAreas):
3046         * page/FrameView.h:
3047         Add isMainFrameView and adopt it wherever we were previously checking if
3048         the FrameView's frame was the same as its page's main frame.
3049
3050 2013-08-15  Andy Estes  <aestes@apple.com>
3051
3052         <https://webkit.org/b/119853> REGRESSION (r139343): WebKit crashes when canceling a load inside webView:resource:didFinishLoadingFromDataSource:
3053
3054         Reviewed by Brady Eidson.
3055
3056         A client implementing webView:resource:didFinishLoadingFromDataSource:
3057         might decide to call stopLoading: for the identifier that just finished
3058         loading. If this happens we re-enter the loader and attempt to cancel a
3059         load that has already finished and been removed from the set of active
3060         loaders. Prevent this by clearing DocumentLoader's
3061         m_identifierForLoadWithoutResourceLoader before calling
3062         dispatchDidFinishLoading().
3063
3064         New API test: WebKit1.StopLoadingFromDidFinishLoading.
3065
3066         * loader/DocumentLoader.cpp:
3067         (WebCore::DocumentLoader::finishedLoading): Set
3068         m_identifierForLoadWithoutResourceLoader to 0 before calling
3069         dispatchDidFinishLoading().
3070
3071 2013-08-15  Eric Carlson  <eric.carlson@apple.com>
3072
3073         [Mac] Remove "legacy" media UI
3074         https://bugs.webkit.org/show_bug.cgi?id=119752
3075
3076         Reviewed by Jer Noble.
3077
3078         * WebCore.exp.in: Remove _wkMediaControllerThemeAvailable.
3079
3080         * platform/mac/WebCoreSystemInterface.h: Update for API change.
3081         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3082
3083         * rendering/RenderThemeMac.h: Don't override hasOwnDisabledStateHandlingFor.
3084         * rendering/RenderThemeMac.mm:
3085         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Remove code to deal with legacy theme.
3086         (WebCore::getUnzoomedRectAndAdjustCurrentContext): Ditto.
3087         (WebCore::RenderThemeMac::paintMediaFullscreenButton): wkDrawMediaUIPart doesn't need to know
3088             the current theme.
3089         (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto.
3090         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
3091         (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto.
3092         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto.
3093         (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto.
3094         (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto.
3095         (WebCore::RenderThemeMac::paintMediaRewindButton): Ditto.
3096         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
3097         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
3098         (WebCore::RenderThemeMac::paintMediaCurrentTime): Ditto.
3099         (WebCore::RenderThemeMac::paintMediaTimeRemaining): Ditto.
3100         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): Ditto.
3101         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
3102         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
3103         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack): Ditto.
3104         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb): Ditto.
3105         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): We only have one theme.
3106         (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Ditto.
3107         (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Ditto.
3108
3109 2013-08-15  Antti Koivisto  <antti@apple.com>
3110
3111         <https://webkit.org/b/119834> Remove ElementShadow
3112
3113         Reviewed by Anders Carlsson.
3114
3115         It is 1:1 with ShadowRoot and has virtually no functionality. What little there is can be moved to ShadowRoot or Element.
3116
3117         * CMakeLists.txt:
3118         * GNUmakefile.list.am:
3119         * Target.pri:
3120         * WebCore.exp.in:
3121         * WebCore.xcodeproj/project.pbxproj:
3122         * css/StyleResolver.cpp:
3123         (WebCore::StyleResolver::locateCousinList):
3124         * css/StyleScopeResolver.cpp:
3125         (WebCore::StyleScopeResolver::styleSharingCandidateMatchesHostRules):
3126         (WebCore::StyleScopeResolver::matchHostRules):
3127         * dom/ComposedShadowTreeWalker.cpp:
3128         (WebCore::nodeCanBeDistributed):
3129         (WebCore::ComposedShadowTreeWalker::traverseChild):
3130         * dom/ContainerNode.cpp:
3131         (WebCore::childAttachedAllowedWhenAttachingChildren):
3132         * dom/ContainerNodeAlgorithms.cpp:
3133         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
3134         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
3135         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
3136         (WebCore::assertConnectedSubrameCountIsConsistent):
3137         * dom/ContainerNodeAlgorithms.h:
3138         (WebCore::ChildFrameDisconnector::collectFrameOwners):
3139         * dom/DOMAllInOne.cpp:
3140         * dom/Document.cpp:
3141         * dom/Element.cpp:
3142         (WebCore::Element::~Element):
3143         (WebCore::Element::attach):
3144         (WebCore::Element::detach):
3145         (WebCore::Element::shadowRoot):
3146         (WebCore::Element::didAffectSelector):
3147         (WebCore::Element::addShadowRoot):
3148         (WebCore::Element::removeShadowRoot):
3149         
3150             Move addShadowRoot and removeShadowRoot here from ElementShadow.
3151
3152         (WebCore::Element::createShadowRoot):
3153         (WebCore::Element::authorShadowRoot):
3154         (WebCore::Element::userAgentShadowRoot):
3155         (WebCore::Element::ensureUserAgentShadowRoot):
3156         (WebCore::Element::childrenChanged):
3157         (WebCore::Element::removeAllEventListeners):
3158         * dom/Element.h:
3159         (WebCore::isShadowHost):
3160         * dom/ElementRareData.h:
3161         (WebCore::ElementRareData::clearShadowRoot):
3162         (WebCore::ElementRareData::shadowRoot):
3163         (WebCore::ElementRareData::setShadowRoot):
3164         (WebCore::ElementRareData::~ElementRareData):
3165         * dom/ElementShadow.cpp: Removed.
3166         * dom/ElementShadow.h: Removed.
3167         * dom/EventDispatcher.cpp:
3168         * dom/EventPathWalker.cpp:
3169         (WebCore::EventPathWalker::moveToParent):
3170         * dom/Node.cpp:
3171         (WebCore::Node::needsShadowTreeWalkerSlow):
3172         * dom/NodeRenderingContext.cpp:
3173         * dom/NodeRenderingContext.h:
3174         * dom/ShadowRoot.cpp:
3175         (WebCore::ShadowRoot::attach):
3176         (WebCore::ShadowRoot::detach):
3177         
3178             Move attached() tests from ElementShadow.
3179
3180         (WebCore::ShadowRoot::childrenChanged):
3181         (WebCore::ShadowRoot::removeAllEventListeners):
3182         
3183             Move here from ElementShadow.
3184
3185         * dom/ShadowRoot.h:
3186         (WebCore::Node::shadowRoot):
3187         * dom/TreeScopeAdopter.cpp:
3188         * html/ColorInputType.cpp:
3189         (WebCore::ColorInputType::createShadowSubtree):
3190         * html/FileInputType.cpp:
3191         (WebCore::FileInputType::createShadowSubtree):
3192         (WebCore::FileInputType::disabledAttributeChanged):
3193         (WebCore::FileInputType::multipleAttributeChanged):
3194         * html/HTMLFormControlElement.cpp:
3195         * html/HTMLImageElement.cpp:
3196         (WebCore::HTMLImageElement::canStartSelection):
3197         * html/HTMLInputElement.cpp:
3198         (WebCore::HTMLInputElement::updateType):
3199         * html/HTMLKeygenElement.cpp:
3200         * html/HTMLMediaElement.cpp:
3201         * html/HTMLTextAreaElement.cpp:
3202         * html/InputType.cpp:
3203         * html/RangeInputType.cpp:
3204         (WebCore::RangeInputType::handleMouseDownEvent):
3205         (WebCore::RangeInputType::createShadowSubtree):
3206         * html/TextFieldInputType.cpp:
3207         (WebCore::TextFieldInputType::createShadowSubtree):
3208         * html/ValidationMessage.cpp:
3209         * html/shadow/ContentDistributor.cpp:
3210         (WebCore::ContentDistributor::distribute):
3211         (WebCore::ContentDistributor::ensureDistribution):
3212         * html/shadow/ContentDistributor.h:
3213         (WebCore::ContentDistributor::isValid):
3214         * html/shadow/InsertionPoint.cpp:
3215         (WebCore::InsertionPoint::childrenChanged):
3216         (WebCore::InsertionPoint::insertedInto):
3217         (WebCore::InsertionPoint::removedFrom):
3218         (WebCore::resolveReprojection):
3219         * html/shadow/InsertionPoint.h:
3220         (WebCore::shadowRootOfParentForDistribution):
3221         * html/shadow/SliderThumbElement.cpp:
3222         * inspector/InspectorDOMAgent.cpp:
3223         (WebCore::InspectorDOMAgent::unbind):
3224         (WebCore::InspectorDOMAgent::buildObjectForNode):
3225         * page/FocusController.cpp:
3226         (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
3227         * rendering/RenderFileUploadControl.cpp:
3228         (WebCore::RenderFileUploadControl::uploadButton):
3229         * rendering/RenderTheme.cpp:
3230         * style/StyleResolveTree.cpp:
3231         (WebCore::Style::resolveTree):
3232         * svg/SVGTRefElement.cpp:
3233         (WebCore::SVGTRefElement::updateReferencedText):
3234         (WebCore::SVGTRefElement::detachTarget):
3235         * svg/SVGUseElement.cpp:
3236         (WebCore::SVGUseElement::clearResourceReferences):
3237         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
3238         (WebCore::SVGUseElement::buildShadowTree):
3239         * testing/Internals.cpp:
3240         (WebCore::Internals::ensureShadowRoot):
3241         (WebCore::Internals::shadowRoot):
3242
3243 2013-08-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3244
3245         [Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont
3246         https://bugs.webkit.org/show_bug.cgi?id=118532
3247
3248         Reviewed by Jocelyn Turcotte.
3249
3250         We don't need to allocate FontPlatformData on the heap
3251         since getCachedFontData makes a deep copy anyway.
3252
3253         * platform/graphics/qt/FontCacheQt.cpp:
3254         (WebCore::FontCache::getLastResortFallbackFont):
3255
3256 2013-08-15  Rob Buis  <rwlbuis@webkit.org>
3257
3258         ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
3259         https://bugs.webkit.org/show_bug.cgi?id=116979
3260
3261         Reviewed by Antti Koivisto.
3262
3263         Make sure adoptRef is called before calling setPseudo, for all progress shadow elements.
3264
3265         * html/shadow/ProgressShadowElement.cpp:
3266         (WebCore::ProgressInnerElement::ProgressInnerElement):
3267         (WebCore::ProgressBarElement::ProgressBarElement):
3268         (WebCore::ProgressValueElement::ProgressValueElement):
3269         * html/shadow/ProgressShadowElement.h:
3270         (WebCore::ProgressInnerElement::create):
3271         (WebCore::ProgressBarElement::create):
3272         (WebCore::ProgressValueElement::create):
3273
3274 2013-08-14  Ryuan Choi  <ryuan.choi@samsung.com>
3275
3276         <https://webkit.org/b/119786> [EFL] decoration of search type is different from other platforms
3277
3278         Reviewed by Gyuyoung Kim.
3279
3280         Other platforms except EFL port draw a magnifying icon for
3281         -webkit-search-results-button and -webkit-search-results-decoration in search field,
3282         but Efl port draws it for -webkit-search-decoration.
3283
3284         This patch makes Efl port draw icon in first two cases like other ports.
3285
3286         Tests: fast/css/input-search-padding.html
3287            fast/css/text-input-with-webkit-border-radius.html
3288            fast/css/text-overflow-input.html
3289            fast/forms/box-shadow-override.html
3290            fast/forms/control-restrict-line-height.html
3291            fast/forms/input-appearance-height.html
3292            fast/forms/placeholder-position.html
3293            fast/forms/placeholder-pseudo-style.html
3294            fast/forms/search-cancel-button-style-sharing.html
3295            fast/forms/search-display-none-cancel-button.html
3296            fast/forms/search-rtl.html
3297            fast/forms/search-vertical-alignment.html
3298            fast/forms/searchfield-heights.html
3299            fast/repaint/search-field-cancel.html
3300
3301         * platform/efl/DefaultTheme/widget/search/cancel/search_cancel.edc:
3302         Moved results_button alias to search_decoration.edc
3303         * platform/efl/DefaultTheme/widget/search/decoration/search_decoration.edc:
3304         * platform/efl/RenderThemeEfl.cpp:
3305         Updated size of ResultsButtonStyle and ResultsDecorationStyle to show icon.
3306         In addition, removed adjustSearchFieldResultsButtonStyle and paintSearchFieldDecoration.
3307         (WebCore::toEdjeGroup): Removed decoration group.
3308         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
3309         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
3310         * platform/efl/RenderThemeEfl.h:
3311
3312 2013-08-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3313
3314         [CSS] Introduce new structure to pass image orientation values.
3315         https://bugs.webkit.org/show_bug.cgi?id=119418
3316
3317         Reviewed by Beth Dakin.
3318
3319         Add a ImageOrientationDescription struct in order to reduce count of argument for
3320         image orientation.
3321
3322         No new tests, no behavior change.
3323
3324         * html/HTMLCanvasElement.cpp:
3325         (WebCore::HTMLCanvasElement::paint):
3326         * page/DragController.cpp:
3327         (WebCore::DragController::doImageDrag):
3328         * page/Frame.cpp:
3329         (WebCore::Frame::nodeImage):
3330         (WebCore::Frame::dragImageForSelection):
3331         * platform/DragImage.h:
3332         * platform/blackberry/DragImageBlackBerry.cpp:
3333         (WebCore::createDragImageFromImage):
3334         * platform/efl/DragImageEfl.cpp:
3335         (WebCore::createDragImageFromImage):
3336         * platform/graphics/BitmapImage.cpp:
3337         (WebCore::BitmapImage::updateSize):
3338         * platform/graphics/BitmapImage.h:
3339         * platform/graphics/GraphicsContext.cpp:
3340         (WebCore::GraphicsContext::drawImage):
3341         * platform/graphics/GraphicsContext.h:
3342         * platform/graphics/Image.cpp:
3343         (WebCore::Image::draw):
3344         * platform/graphics/Image.h:
3345         * platform/graphics/ImageOrientation.h:
3346         (WebCore::ImageOrientationDescription::ImageOrientationDescription):
3347         (WebCore::ImageOrientationDescription::respectImageOrientation):
3348         (WebCore::ImageOrientationDescription::imageOrientation):
3349         * platform/graphics/ImageSource.cpp:
3350         (WebCore::ImageSource::size):
3351         (WebCore::ImageSource::frameSizeAtIndex):
3352         * platform/graphics/ImageSource.h:
3353         * platform/graphics/blackberry/ImageBlackBerry.cpp:
3354         (WebCore::BitmapImage::draw):
3355         * platform/graphics/cairo/BitmapImageCairo.cpp:
3356         (WebCore::BitmapImage::draw):
3357         * platform/graphics/cairo/ImageBufferCairo.cpp:
3358         (WebCore::ImageBuffer::draw):
3359         * platform/graphics/cg/BitmapImageCG.cpp:
3360         (WebCore::BitmapImage::draw):
3361         * platform/graphics/cg/ImageSourceCG.cpp:
3362         (WebCore::ImageSource::frameSizeAtIndex):
3363         (WebCore::ImageSource::size):
3364         (WebCore::ImageSource::frameBytesAtIndex):
3365         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3366         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
3367         * platform/graphics/qt/ImageBufferQt.cpp:
3368         (WebCore::ImageBuffer::draw):
3369         * platform/graphics/wince/ImageBufferWinCE.cpp:
3370         (WebCore::ImageBuffer::draw):
3371         * platform/gtk/ClipboardGtk.cpp:
3372         (WebCore::Clipboard::createDragImage):
3373         * platform/gtk/DragImageGtk.cpp:
3374         (WebCore::createDragImageFromImage):
3375         * platform/mac/DragImageMac.mm:
3376         (WebCore::createDragImageFromImage):
3377         * platform/qt/ClipboardQt.cpp:
3378         (WebCore::Clipboard::createDragImage):
3379         * platform/qt/DragImageQt.cpp:
3380         (WebCore::createDragImageFromImage):
3381         * platform/win/ClipboardWin.cpp:
3382         (WebCore::Clipboard::createDragImage):
3383         * platform/win/DragImageCGWin.cpp:
3384         (WebCore::createDragImageFromImage):
3385         * platform/win/DragImageCairoWin.cpp:
3386         (WebCore::createDragImageFromImage):
3387         * rendering/RenderEmbeddedObject.cpp:
3388         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
3389         * rendering/RenderImage.cpp:
3390         (WebCore::RenderImage::paintReplaced):
3391         (WebCore::RenderImage::paintIntoRect):
3392         * rendering/RenderSnapshottedPlugIn.cpp:
3393         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
3394
3395 2013-08-14  Sam Weinig  <sam@webkit.org>
3396
3397         Update binding test results.  Follow up fix for <https://webkit.org/b/119664>
3398
3399         * bindings/scripts/test/JS/JSTestCallback.cpp:
3400         (WebCore::JSTestCallback::JSTestCallback):
3401         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3402         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
3403
3404 2013-08-14  Joseph Pecoraro  <pecoraro@apple.com>
3405
3406         <https://webkit.org/b/119810> [Mac] No AutoreleasePool leaks when dragging image out of WebView
3407
3408         Reviewed by Dan Bernstein.
3409
3410         This code was just running a block of code asynchronously using a
3411         pthread. Convert this to use a dispatch block, which does provide
3412         an autorelease pool so there are no leaks and ends up much simpler.
3413
3414         * platform/mac/FileSystemMac.mm:
3415         (WebCore::setMetadataURL):
3416
3417 2013-08-14  Tim Horton  <timothy_horton@apple.com>
3418
3419         Un-inline dataLog dumpers for IntSize and IntPoint
3420         https://bugs.webkit.org/show_bug.cgi?id=119697
3421
3422         Reviewed by Sam Weinig.
3423
3424         Avoid regressing build performance by moving IntSize::dump and IntPoint::dump elsewhere.
3425
3426         * CMakeLists.txt:
3427         * GNUmakefile.list.am:
3428         * Target.pri:
3429         * WebCore.vcxproj/WebCore.vcxproj:
3430         * WebCore.vcxproj/WebCore.vcxproj.filters:
3431         * WebCore.xcodeproj/project.pbxproj:
3432         * platform/graphics/IntPoint.cpp: Added.
3433         (WebCore::IntPoint::dump):
3434         * platform/graphics/IntPoint.h:
3435         * platform/graphics/IntSize.cpp: Added.
3436         (WebCore::IntSize::dump):
3437         * platform/graphics/IntSize.h:
3438
3439 2013-08-14  Chris Fleizach  <cfleizach@apple.com>
3440
3441         <https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it
3442
3443         Reviewed by Tim Horton.
3444
3445         VoiceOver lands on Scroll views by default. It expects that the scroll